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=YES pam_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 ftpd setsebool -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 云服务端防火墙无法放行具体端口