- 设定实验环境
yum源的配置
Vim /etc/sysconfig/selinux enforcing(内核级别的加强性火墙开启并且模式强制)改为disable,为了直观看到实验效果,必须重启系统,因为是内核级别,getenforce 如果是disable表示实验环境设置成功。
火墙的设定
2.ftp服务的启用
yum insatll vsftpd
systemctl start vsftpd
Systemctl enable vsftpd
Firewall-cmd --permanent --add -service=ftp
Firewall-cmd --reload
ftp://172.25.254.61
3.ftp的基本信息
主动模式:
访问数据端口:21
数据传输端口:>1024 随机端口
被动模式
默认发布目录:/var/ftp
访问方式:
匿名用户登录 lftp 172.25.254.61 -->/var/ftp
本机用户方式登录 lftp172.25.254.61 -->/home/student
配置文件:/etc/vsftpd/vsftpd.conf
550:服务本身不允许这样做
530:认证失败
500:权限过大
553:服务器上的文件系统不允许这么做
4.ftp安全部署
vim /etc/vsftpd/vsftpd.conf
anonymous_enable=YES|NO 匿名用户是否可以登录
local_enable=YES|NO 本地用户是否可以登录
write_enable=YES|NO 本地用户是否可写
- 匿名用户
chmod 775 /var/ftp/pub
chgrp ftp /var/ftp/pub
anon_upload_enable=YES 匿名用户是否可以上传
systemctl restart vsftpd
anon_world_readable_only=NO 匿名用户可以下载
anon_mkdir_write_enable=YES 匿名用户建立目录
anon_other_write_enable=YES 匿名用户是可以删除和重命名
anon_root=/xaut 设定匿名用户的默认发布目录
anon_umask=xxx 匿名用户上传文件默认权限的修改
anon_mkdir_write_enable=YES 匿名用户上传文件默认权限的修改
Chown_uploads=YES 上传文件用户传换规则
Chown_username=student 匿名用户使用的身份修改
anon_max_rate=102400字节 最大传输速率
max_clients=10 最大链接个数
local_root=/directiory 本地用户的家目录修改
local_umask=011 本地用户上传文件权限
chroot_local_user=YES 所有用户被锁定到自己的家目录
Chmod u-w /home/* 去掉家目录中所有的写权限
chroot_list_enable=YES
touch /etc/vsftpd/chroot_list 用户是否可以浏览服务器上的根目录
在名单中的用户不能浏览根
用户黑名单的建立
chroot_local_user=NO
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
用户白名单的建立
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
限制本地用户登录
Vim /etc/vsftpd/ftpusers 用户黑名单
Vim /etc/vsftp/user_list 用户临时黑名单
用户白名单设定
Userlist_deny-NO
/etc/vsftpd/user_list 参数设定,此文件变成用户白名单,只有在此名单的用户可以登录ftp
- ftp虚拟用户的设定
创建虚拟帐号身份
Vim /etc/vsftpd/xautfile 文件名称任意
ftpuser1
123
ftpuser2
123
ftpuser3
123
db_load -T -t hash -f /etc/vsftpd/xautfile /etc/vsftpd/xautfile.db
vim /etc/pam.d/xaut 文件名称任意
account required pam_userdb.so db=/etc/vsftpd/xautfile
auth required pam_userdb.so db=/etc/vsftpd/xautfile
vim /etc/vsftpd/vsftpd.conf
pam_service_name=xaut
guest_enable=YES
虚拟帐号身份指定
guest_username=ftpuser
chmod -u-w /home/ftpuser
虚拟帐号家目录独立设定
vim /etc/vsftpd/vsftpd.conf
local_root=/ftpuserhome/$USER
user_sub_token=$USER
mkdir /ftphome/user1/user1dir -p
mkdir /ftphome/user2/userdir
虚拟帐号配置独立
vim /etc/vsftpd/vsftpd.con
user-config_dir=/etc/vsftpd/userconf
mkdir -p /etc/vsftpd/userconf
vim /etc/vsftpd/ftpuser1
在此文件中设定配置文件的所有参数,此文件优先级高