两个端口
ftp指令 端口21
ftp数据传输 端口20
两种传输模式:
主动
被动
安装
yum install vsftpd -y
编辑主配置文件
# vim /etc/vsftpd/vsftpd.conf
过滤掉没用的注释
# grep -v "#" /etc/vsftpd/vsftpd.conf
配置文件内容介绍
#允许匿名用户登录
1 anonymous_enable=YES
#允许本地用户登录
2 local_enable=YES
#允许本地用户写
3 write_enable=YES
#本地文件反掩码
4 local_umask=022
#是否显示提示信息
5 dirmessage_enable=YES
#是否记录日志
6 xferlog_enable=YES
7 connect_from_port_20=YES
8 xferlog_std_format=YES
9 listen=NO
10 listen_ipv6=YES
#可插拔认证模块
12 pam_service_name=vsftpd
#用户列表的功能
13 userlist_enable=YES
14 tcp_wrappers=YES
反掩码介绍
匿名
1.1. 编辑vsftpd的主配置文件
1 anonymous_enable=YES
2 anno_umask=022
3 anno_upload_enable=YES
4 anno_mkdir_write_enable=YES
5 anno_other_write_enable=YES
6 local_enable=YES
7 write_enable=YES
8 local_umask=022
9 dirmessage_enable=YES
10 xferlog_enable=YES
11 connect_from_port_20=YES
12 xferlog_std_format=YES
13 listen=NO
14 listen_ipv6=YES
15
16 pam_service_name=vsftpd
17 userlist_enable=YES
18 tcp_wrappers=YES
1.2. 重启服务并设置为开机启动
# systemctl restart vsftpd
# systemctl enable vsftpd
1.4. 关闭防火墙并保存
iptables -F
service iptables save
1.5. 匿名用户登录使用的目录
匿名用户登录的路径/var/ftp/pub
1.6. 配置selinux
1.6.1. 查看关于ftp的selinux安全域
getsebool -a | grep ftp
1.6.2. 设置selinux
setsebool -P ftpd_full_access=on
1.7. 设置ftp用户对于/var/ftp/pub目录的权限
匿名用户登录ftp后使用的是ftp账号的权限,如果需要写权限,需要修改权限
chmod -R 777 /var/ftp/pub/
本地
2.1. 每个用户自己的家目录作为文件传输所在的目录
2.2. 编辑配置文件,默认就是支持本地用户的
2.3. 编辑黑名单
/etc/vsftpd/ftpusers,删掉root
/etc/user_list,删掉root
虚拟用户