安装vsftpd
yum install -y vsftpd
或者apt install -y vsftpd
设置FTP服务开机自启动
systemctl enable vsftpd.service
启动FTP服务
systemctl start vsftpd.service
查看FTP监听端口
netstat -antup | grep ftp
配置匿名用户访问模式
修改配置文件
vim /etc/vsftpd/vsftpd.conf
允许任何人上传
anon_upload_enable=YES
为FTP用户添加写入权限
chmod o+w /var/ftp/pub/
重启FTP服务
systemctl restart vsftpd.service
创建一个用户用作FTP
adduser ftpuser1
设置密码
passwd ftpuser1
创建目录供FTP使用
mkdir /var/ftp/upload
把刚才创建的FTP用户添加进来
chown -R ftpuser1:ftpuser1 /var/ftp/upload
修改配置文件vsftpd.conf(主动模式)
sed -i 's/anonymous_enable=YES/anonymous_enable=NO/' /etc/vsftpd/vsftpd.conf #禁止匿名登录FTP服务器
sed -i 's/listen=NO/listen=YES/' /etc/vsftpd/vsftpd.conf #监听IPv4 sockets
sed -i 's/listen_ipv6=YES/#listen_ipv6=YES/' /etc/vsftpd/vsftpd.conf #关闭监听IPv6 sockets
sed -i 's/#chroot_local_user=YES/chroot_local_user=YES/' /etc/vsftpd/vsftpd.conf #全部用户被限制在主目录
sed -i 's/#chroot_list_enable=YES/chroot_list_enable=YES/' /etc/vsftpd/vsftpd.conf #启用例外用户名单
sed -i 's/#chroot_list_file=/chroot_list_file=/' /etc/vsftpd/vsftpd.conf #指定例外用户列表文件,列表中的用户不被锁定在主目录
echo "allow_writeable_chroot=YES" >> /etc/vsftpd/vsftpd.conf
echo "local_root=/var/ftp/test" >> /etc/vsftpd/vsftpd.conf #设置本地用户登录后所在的目录
在/etc/vsftpd创建chroot_list
没有白名单用户的话文件直接为空
重启FTP服务
systemctl restart vsftpd.service