第十二章
需求描述:
采用FTP虚拟用户的方式,添加三个用户:devadm、sales、salesadm
用户访问及文件权限控制
开放匿名访问,任何用户均可下载服务器/var/ftp/soft/目录中的软件资料
用户devadm可以对服务器的/var/ftp/soft/目录进行上传、删除等操作
用户sales可以下载服务器/var/market/目录中的市场活动、销售方案等资料
用户salesadm可以对服务器/var/market/目录进行上传、删除等操作。
所有通过FTP上传的文件,均去除非属主为的写权限(即将权限掩码设为022)
对服务器中没有明确授权的其他目录,禁止任何用户访问
传输速率和并发控制。
最多允许150个并发用户连接,每个IP并发连接数不超过5个
匿名用户及sales用户的下载带宽限制为100kb/s
Salesadm用户的下载,上传带宽限制为200kb/s。
推荐步骤:
一、安装FTP服务和配置匿名访问ftp
1、安装ftp服务
1)安装服务器端
[root@centos01 ~]# rpm -ivh /mnt/Packages/vsftpd-3.0.2-22.el7.x86_64.rpm
2)安装客户端
[root@centos01 ~]# rpm -ivh /mnt/Packages/ftp-0.17-67.el7.x86_64.rpm
2、配置匿名访问ftp
1)创建匿名访问ftp根目录
[root@centos01 ~]# mkdir -p /var/ftp/soft
2)修改ftp主配置文件支持匿名访问
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES
write_enable=YES
anon_root=/var/ftp/soft
3)创建访问ftp测试数据
[root@centos01 ~]# echo “111” > /var/ftp/soft/1.txt
4)设置ftp服务开机自动启动启动ftp服务
[root@centos01 ~]# systemctl enable vsftpd.service
[root@centos01 ~]# systemctl start vsftpd.service
3、客户端验证访问可以下载不可以上传数据
二、配置虚拟账户ftp
1、配置虚拟账户数据库
1)创建虚拟账户文件存储账户名和密码
[root@centos01 ~]# vim /etc/vsftpd/vuser.list
devadm
pwd@123
sales
pwd@1234
salesadm
pwd@12345
2)将存储虚拟账户名和密码文件转换成数据库
3)创建pam文件加载虚拟账户数据库
[root@centos01 ~]# vim /etc/pam.d/vsftpd.vu
#%PAM-1.0
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
4)创建系统账户执行ftp根目录
[root@centos01 ~]# useradd -d /var/market -s /sbin/nologin virtual
2、修改ftp主配置文件支持虚拟账户
1)修改主配置文件
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf
local_enable=YES
write_enable=YES
anon_umask=022
chroot_local_user=YES
allow_writeable_chroot=YES
guest_enable=YES
guest_username=virtual
user_config_dir=/ect/vsftpd/vsftpd_dir
pam_service_name=vsftpd.vu
2)创建存储用户访问ftp权限目录
[root@centos01 ~]# mkdir /etc/vsftpd/vsftpd_dir
三、配置虚拟账户访问权限
1、用户devadm可以对服务器的/var/ftp/soft/目录进行上传、删除等操作
1)创建devadm权限文件
[root@centos01 ~]# touch /etc/vsftpd/vsftpd_dir/devadm
3)编辑devadm以对服务器的/var/ftp/soft/目录进行上传、删除等操作
[root@centos01 ~]# vim /etc/vsftpd/vsftpd_dir/devadm
local_root=/var/ftp/soft/
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
2、用户sales可以下载服务器/var/market/目录中的市场活动、销售方案等资料
1)创建sales权限文件
[root@centos01 ~]# touch /etc/vsftpd/vsftpd_dir/sales
2)配置默认下载权限注意事项
只需要又用户验证文件就可以不需要写权限
3、用户salesadm可以对服务器/var/market/目录进行上传、删除等操作
1)创建salesadm权限文件
[root@centos01 ~]# touch /etc/vsftpd/vsftpd_dir/salesadm
2)设置salesadm进行上传、删除等操作
[root@centos01 ~]# vim /etc/vsftpd/vsftpd_dir/salesadm
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
4、配置验证用户访问ftp
1)创建测试数据
[root@centos01 ~]# echo “333” > /var/market/3.txt
[root@centos01 ~]# echo “222” > /var/market/2.txt
2)重新启动ftp服务
[root@centos01 ~]# systemctl restart vsftpd
5、验证devadm对匿名目录/var/ftp/soft拥有完全控制权限
1)修改ftp根目录的所有者
[root@centos01 ~]# chown virtual /var/ftp/soft/
2)devadm登录可以上传创建删除覆盖目录中的数据
6、sales只能下载权限
1)验证可以下载数据
2)上传数据被拒绝
7、验证salesadm拥有上传删除覆盖文件权限
四、配置传输控制
1、最多多允许150个并发用户连接,每个IP并发连接数不超过5个
[root@centos01 ~]# vim /etc/vsftpd/vsftpd.conf
max_clients=150
max_per_ip=5
anon_max_rate=100000
2、sales用户的下载带宽限制为100kb/s
[root@centos01 ~]# vim /etc/vsftpd/vsftpd_dir/sales
local_max_rate=800000
3、Salesadm用户的下载,上传带宽限制为200kb/s
[root@centos01 ~]# vim /etc/vsftpd/vsftpd_dir/salesadm
anon_max_rate=1600000
4、验证限速
1)创建大数据文件
2)匿名用户限制100K
3)使用salesadm