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网络的主机访问;
# yum -y install samba# useradd gentoo# echo "gentoo" | passwd --stdin gentoo# useradd centos# echo "centos" | passwd --stdin centos# useradd ubuntu# echo "ubuntu" | passwd --stdin ubuntu# groupadd develop# usermod -G develop gentoo# usermod -G develop centos# smbpasswd -a gentooNew SMB password:Retype new SMB password:Added user gentoo.# smbpasswd -a centosNew SMB password:Retype new SMB password:Added user centos.# smbpasswd -a ubuntuNew SMB password:Retype new SMB password:Added user ubuntu.# vim /etc/samba/smb.conf[global] workgroup = magedu security = user server string = Samba Server Version %v netbios name = MYSERVER hosts allow = 172.16.[shared] comment = homework public = no path = /data write list = @develop read list = ubuntu browseable = yes # setfacl -m g:develop:rwx /data另外一台服务器# smbclient //x.x.x.x/shared -U centosEnter centos's password: Domain=[MAGEDU] OS=[Windows 6.1] Server=[Samba 4.4.4]smb: \> lcd /etcsmb: \> put resolv.conf putting file resolv.conf as \resolv.conf (9.6 kb/s) (average 9.6 kb/s)
2、搭建一套文件vsftp文件共享服务,共享目录为/ftproot,要求:(描述完整的过程)
1)基于虚拟用户的访问形式;
2)匿名用户只允许下载,不允许上传;
3)禁锢所有的用户于其家目录当中;
4)限制最大并发连接数为200:;
5)匿名用户的最大传输速率512KB/s
6)虚拟用户的账号存储在mysql数据库当中。
7)数据库通过NFS进行共享。
NFS及vsftpd服务器:192.168.12.130
客户端:192.168.12.137
配置NFS共享
192.168.12.130:
# mkdir -p /data/mydata
# systemctl start nfs.service
# vim /etx/exports
/data/mydata 192.168.12.0/24(rw,no_root_squash,sync)
# exportfs -r
192.168.12.137:
# mkdir -p /web/html
# mount -t nfs 192.168.12.130:/data/mydata /web/html
NFS配置完成
配置vsftpd服务器,基于虚拟用户访问,并将虚拟用户的账号存储于mysql中
192.168.12.130:
安装mariadb.service mariadb-devel openssl-devel
# yum -y install mariadb.service mariadb-devel openssl-devel
编译安装pam-devel
# tar -xf pam_mysql-0.7RC1.tar.gz
# cd pam_mysql-0.7RC1
# ./configure --with-mysql=/usr --with-openssl=/usr --with-pam=/usr --with-pam-mods-dir=/lib64/security
# make && make install
配置数据库,建立vsftpd库及users表
# systemctl start mariadb.service
# mysql
CREATE DATABASE vsftpd;
USE vsftpd;
CREATE TALBE users (
id int AUTO_INCREMENT NOT NULL PRIMARY KEY
name char(30) NOT NULL
password char(48) NOT NULL );
INSERT INTO users(name,password) VALUES ('tom',password('mageedu'));
INSERT INTO users(name,password) VALUES ('jerry',password('mageedu.com'));
GRANT SELECT ON vsftpd* TO vsftpd@'127.0.0.1' IDENTIFIED BY 'mageedu';
FLUSH PRIVILEGES;
迁移MariaDB的数据库默认数据存放目录,放到/data/mydata/目录中,形成NFS共享
# cp -r /var/lib/mysql/ /data/mydata/
# cd /data/mydata
# chown -R mysql:mysql mysql/
# vim /etc/my.cnf
datadir=/data/mydata/mysql/
# systemctl restart mariadb.service
配置pam
# vim /etc/pam.d/vsftpd.mysql
auth required pam.mysql.so user=vsftpd passwd=mageedu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
account required pam.mysql.so user=vsftpd passwd=mageedu host=127.0.0.1 db=vsftpd table=users usercolumn=name passwdcolumn=password
创建系统用户
# mkdir /ftproot
# useradd -s /sbin/nologin -d /ftproot vuser
# chmod +rx -R /ftproot/
配置vsftpd.conf
# vim /etc/vsftpd/vsftpd.conf
pam_service_name=vsftpd.mysql
#允许匿名账户登录
anonymous_enable=YES
#不允许匿名用户上传文件
anon_upload_enable=NO
#禁锢本地账户的家目录
chroot_local_user=YES
#最大允许的客户端连接数
max_clients=200
#匿名用户的最大传输速率512KB/s
local_max_rate=512000
#开启虚拟用户访问
guest_enable=YES
guest_username=vuser
# systemctl start vsftpd.service
原创文章,作者:浙江-咲,如若转载,请注明出处:http://www.178linux.com/78080


评论列表(1条)
实验过程很详细,希望两个项目能独立完成,后续再文件共享方面能熟练掌握,包括NFS等。