某学校为了方便于师生员工的教学,计划搭建FTP服务器,对所有互联网用户开放共享目录,
提供相关学习资料的下载,但是禁止上传,学校内部的教师能有使用FTP服务器进行上传下载,
但是不可以删除数据,为了保证服务器的稳定性,要对用户进行访问和下载的/上传流量的
进行控制
服务器环境centos7.4 20.0.0.11
开始实验
1.systemctl stop firewalld.service #关闭防火墙
2.setenforce 0 #关闭核心防护
3.yum -y install vsftpd #安装vsftpd服务
4.vi /etc/vsftpd/vsftpd.conf #修改配置文件
local_enable=YES #允许本地用户登录
anonymous_enable=YES #允许匿名用户访问
#anon_upload_enable=YES #允许匿名用户上传
#anon_mkdir_write_enable=YES #允许匿名用户新建目录
#anon_other_write_enable=YES #匿名账户是允许其他写入权限
write_enable=YES #允许写入权限
download_enable=YES #允许下载权限
local_umask=022
local_max_rate=102400 #限制下载速度
dirmessage_enable=YES
xferlog_enable=YES #是否启动日志文件
connect_from_port_20=YES #FTP数据连接启用20端口进行连接
xferlog_std_format=YES #标准输出日志
chroot_local_user=YES #本地用户是否锁定在共享目录
local_root=/var/ftp/pub #本地用户的共享目录
chroot_list_enable=YES #开启chroot功能
chroot_list_file=/etc/vsftpd/chroot_list #设置能访问共享目录的用户 的文件列表
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
5.vi /etc/vsftpd/chroot_list #在里面添加能访问的教师用户名tom
6.cd /var/ftp/
7.chmod 757 pub #设置pub目录权限,其它用户权限为7
8.useradd -s /sbin/nologin tom #创建教师ftp账户tom
9.passwd tom #设置密码
10.vi /etc/vsftpd/chroot_list #在里面添加账户tom
tom
11.systemctl restart vsftpd #重启vsftpd服务
12.先在服务器上建几个文件测试匿名下载功能
cd /var/ftp/pub
mkdir pub子目录
touch 11.txt 12
13.win系统下测试 ftp://20.0.0.11
14.直接访问到了,我们设的chmod 757 pub,故只有在pub目录下才有权限,进入pub
15.匿名用户测试可以下载,当上传时会报错。匿名用户功能达到要求
限制测试教师账户tom的功能 空白处右击,登陆
16.登陆成功后会发现能上传下载且能修改删除
限制要限制其修改删除的功能
17.在服务器器上
chattr +a pub/ #对目录pub作保护,禁止其修改删除,只能添加
再次测试
老师功能也达到要求