马哥教育网络班21期+第13周课程练习

1、建立samba共享,共享目录为/data,要求:(描述完整的过程)

1)共享名为shared,工作组为magedu;

2)添加组develop,添加用户gentoo,centos和ubuntu,其中gentoo和centos以develop为附加组,ubuntu不属于develop组;密码均为用户名;

3)添加samba用户gentoo,centos和ubuntu,密码均为“mageedu”;

4)此samba共享shared仅允许develop组具有写权限,其他用户只能以只读方式访问;

5)此samba共享服务仅允许来自于172.16.0.0/16网络的主机访问;

安装Samba:yum install –y samba-*
启动Samba:service nmb start; service smb start
添加组develop :  groupadd develop
添加用户gentoo,centos和ubuntu: useradd -G develop gentoo, useradd -G develop centos, useradd ubuntu
添加samba用户gentoo,centos和ubuntu:
smbpasswd –a gentoo,smbpasswd –a centos,smbpasswd –a ubuntu
创建目录data : mkdir /data
编辑配置文件,配置共享shared
vim /etc/samba/smb.conf
[shared]
path = /data
guest ok = yes
writable = yes
valid users = 172.16.0.0/16
设置仅允许develop组具有写权限,其他用户只能以只读方式访问;
setfacl -m u::r /data ; setfacl -m o::r /data; setfacl –m g:develop:rw /data

2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
 1)基于虚拟用户的访问形式;

2)匿名用户只允许下载,不允许上传;

3)禁锢所有的用户于其家目录当中;

4)限制最大并发连接数为200:;

5)匿名用户的最大传输速率512KB/s

6)虚拟用户的账号存储在mysql数据库当中。

7)数据库通过NFS进行共享。

一、  数据库nfs的共享
①   在192.168.194.129服务器上安装nfs服务,设置共享目录为nfshare
yum install nfs-utils-1.2.3-39.el6.x86_64.rpm
mkdir /nfshare
创建mysql用户,设置 /nfshare 的所属主,所属组为mysql
groupadd –g 505 mysql
useradd –g 505 –u 505 –s /sbin/nologin –M mysql
chown -R mysql.mysql /nfshare
配置nfs的共享配置文件/etc/exports,/nfshare共享给制定的服务器
/nfshare    192.168.194.128/255.255.255.0(no_root_squash,rw)
启动nfs
service nfs start
②   在192.168.194.128服务器上安装mysql,创建目录/mydata 用来挂载nfs共享目录。
yum –y install –y mysql mysql-server mysql-devel
创建mysql用户,设置 /mydata的所属主,所属组为mysql
groupadd –g 505 mysql
useradd –g 505 –u 505 –s /sbin/nologin –M mysql
chown -R mysql.mysql /mydata
挂载nfs共享目录
mount 192.168.194.129:/nfshare /mydata
修改mysql的配置文件,制定datadir的位置为/mydata
vim /etc/my.cnf
[mysqld]
datadir=/mydata
socket=/var/lib/mysql/mysql.sock
user=mysql
symbolic-links=0
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/mydata/mysqld.pid
初始化mysql
mysql_install_db –datadir=/mydata
启动mysql
service mysqld start

二、  vsftp文件共享服务
① 在192.168.194.128服务器上
创建数据库
mysql> create database vsftpd;
创建数据库用户,授权对vsftpd数据库有查询权限
mysql> grant select on vsftpd.* to vsftpd@192.168.194.128 identified by 'magedu';

mysql> grant select on vsftpd.* to vsftpd@127.0.0.1 identified by 'magedu';

mysql> flush privileges;
在vsftpd数据库中创建表users
mysql> use vsftpd
Database changed
mysql> create table users (id int AUTO_INCREMENT NOT NULL,name char(20) binary NOT NULL,password char(48) binary NOT NULL,primary key(id));
Query OK, 0 rows affected (0.03 sec)

mysql> select * from users;
Empty set (0.00 sec)
插入虚拟用户名magedu1,密码magedu
mysql> insert into users(name,password) values('magedu1',password('magedu'));
Query OK, 1 row affected (0.00 sec)

mysql> select * from users;
+----+---------+-------------------------------------------+
| id | name| password  |
+----+---------+-------------------------------------------+
|  1 | magedu1 | *6B8CCC83799A26CD19D7AD9AEEADBCD30D8A8664 |
+----+---------+-------------------------------------------+
1   row in set (0.00 sec)

②安装开发环境
 yum -y  groupinstall  "Development Tools" "Server Platform Development"
安装vsftp: yum -y install vsftpd pam-devel openssl-devel
安装pam_mysql
tar xf pam_mysql-0.7RC1.tar.gz
./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
make &&  make install
ls /lib64/security 查看pm_msyql_so 模式是否安装成功


③   建立pam认证所需文件
vim /etc/pam.d/vsftpd.mysql
添加如下两行
auth required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=192.168.194.128 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2
account required /lib64/security/pam_mysql.so user=vsftpd passwd=magedu host=192.168.194.128 db=vsftpd table=users usercolumn=name passwdcolumn=password crypt=2

④建立虚拟用户映射的系统用户及对应的目录
useradd -s /sbin/nologin -d /ftproot vuser
chmod go+rx /ftproot

修改ftp配置
/etc/vsftpd/vsftpd.conf
添加配置
guest_enable=YES
guest_username=vuser
修改配置
anonymous_enable=YES
local_enable=YES
write_enable=YES
anon_upload_enable=NO
anon_mkdir_write_enable=NO
chroot_local_user=YES
pam_service_name=vsftpd.mysql
max_clients=200
anon_max_rate=512

重启ftp 服务
service vsftpd restart
在192.168.194.129服务器上测试
[root@oracletest /]# ftp 192.168.194.128
Connected to 192.168.194.128 (192.168.194.128).
220 (vsFTPd 2.2.2)
Name (192.168.194.128:root): magedu1
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.

原创文章,作者:hhaa0352,如若转载,请注明出处:http://www.178linux.com/50077

(0)
hhaa0352hhaa0352
上一篇 2016-10-17 08:35
下一篇 2016-10-17 08:35

相关推荐

  • 第五周小练习

    1显示当前系统上root,fedora或user1用户的默认shell egrep "^(root|user1|fedora)" /etc/passwd|cut -d ':' -f 1,7 2找出/etc/rc.d/init.d/functions文件中某个单…

    Linux干货 2016-12-12
  • sed和vim

    1、如何设置tab缩进为4个字符? vi .vimrc //编辑用户家目录下的vim配置文件 set tabstop=4 2、复制/etc/rc.d/init.d/functions文件至/tmp 目录;替换/tmp/functions 文件中的/etc/sysconfig/init 为/var/log; ~]# cp /etc/rc.d/init.d/fu…

    Linux干货 2016-08-10
  • Because LVM so cattle(Logical Volume Manager)

    LVM: Logical Volume Manager         LVM是逻辑盘卷管理(Logical Volume Manager)的简称,它是Linux环境下对磁盘分区进行管理的一种机制,LVM是建立在硬盘和分区之上的一个逻辑层,来提高磁盘分区管理的灵活性。 …

    Linux干货 2016-08-29
  • Jerry的学习计划/目标/宣言

    学习计划 按照班主任给的计划进度来,多动手做实验。 目标 勇敢做自己,做更好的自己 宣言 能不能成为高富帅,日后是否能愉快地装逼,就看这半年!

    Linux干货 2016-10-24
  • NoSQL之MongoDB

    分布式系统理论 1、 CAP: 分布式系统只能满足其中两个  Consistency :一致性 Availibility:可用性 Partitions Tolerance :分区容错性 C,A : SQL 传统的数据库。 两段机制。 C,P :悲观枷锁机制,分布式加锁机制。加锁机制与SQL不太一样。 这里的C为最终一致性。 放弃C后的特例,既可以保证可用性,…

    2018-01-09
  • 关于高级文件管理系统的几个实验

    实验1:用软件模拟生成RAID (1)选择磁盘或者创建新的分区lsblk 选择bcde四块磁盘 创建新的分区 每个为5Gfdisk(gdisk) /dev/sdb 交互式方式创建 选择分区ID为raid 6.7编号不一样!!! >可能需要同步内核中的磁盘分区表 centos6中用partx -a centos7中用 partprobe命令 (2)创建R…

    2017-08-12

评论列表(1条)

  • 马哥教育
    马哥教育 2016-10-25 13:04

    注意每一个细节,标注好每一个操作针对的是那一个问题