FTP服务搭建
yum install vsftp
匿名用户模式
备份配置文件,并重新生成一个
mv /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf_bak
cat /etc/vsftpd/vsftpd.conf_bak | grep -v "#" > /etc/vsftpd/vsftpd.conf
{local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=NO
listen_ipv6=YESpam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES}
添加配置
anonymous_enable=YES
anon_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
anon_root=xxx # 设置匿名用户ftp目录。vsftp默认为/var/ftp关闭防火墙,selinux
setenforce 0
如果客户不让关闭防火墙,可以放行ftp服务
firewall-cmd --permanent --add-service=ftp
firewall-cmd --reload
firewall-cmd --list-all
如果客户需要使用selinux,需要把ftpd_full_access设置为on
getsebool -a | grep ftpdsetsebool -P ftpd_full_access=on
启动服务
systemctl start vsftpd
使用ftp和空密码登录成功,创建文件失败:
550 Create directory operation failed.
# 查看匿名用户ftp目录权限
cd /var/ftp
# 修改为其他用户可写
chmod o+w /var/ftp
本地用户模式
adduser ftpuser
passwd ftpuser
切换至ftpuser用户,创建一个ftp目录
vim /etc/vsftp/vsftp.conf
指定ftp目录,不指定时为用户家目录
local_root=/home/ftpuser
将用户限定在目录中
chroot_local_user=YES
allow_writeable_chroot=YES
ftpusers
# 不允许登录ftp的用户
user_list
# 如果vsftp.conf中设置userlist_deny=YES,则在user_list文件中的用户不允许登录ftp
虚拟用户模式
注意点
被动模式下,客户端每次数据通道端口为 a*256+b
227 Entering Passive Mode (101,43,10,249,143,172).
143*256+172 云服务端防火墙无法放行具体端口