yum install vsftpd -y
使user_list为NO,只允许列表内用户访问
sed -i 's/userlist_enable=YES/userlist_deny=NO/g' /etc/vsftpd/vsftpd.conf
echo user1 >> /etc/vsftpd/user_list
echo user2 >> /etc/vsftpd/user_list
echo user3 >> /etc/vsftpd/user_list
#添加允许的登录ftp的系统账号
黑名单 (user_list优先匹配,ftpusers 后匹配) cat /etc/vsftpd/ftpusers root bin daemon adm ...... 限制匿名账号
sed -i s/anonymous_enable=YES/anonymous_enable=NO/ /etc/vsftpd/vsftpd.conf
echo ftp >> /etc/vsftpd/ftpusers
#禁用匿名用户登录,不再跳出pub目录
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
vi /etc/vsftpd/vsftpd.conf
chroot_local_user=YES
chroot_list_enable=YES
chroot_list_file=/etc/vsftpd/chroot_list
echo administrator >> /etc/vsftpd.chroot_list
1.安全性考虑
chmod -w /ftp站点目录
#取消写入权限
2.允许root有写入权限
allow_writeable_chroot=YES
5.启动服务 如centos7
systemctl restart vsftpd
systemctl enable vsftpd #加入开机启动
我用www用户作为web服务的运行身份 ,ftp站点也是www家目录。
useradd -u 500 -M -s /sbin/nologin -g www -d /var/www www
passwd www
#设置www用户登录密码
连接报错:
vsftpd: refusing to run with writable root inside chroot() 错误的解决办法 避免一个安全漏洞,从 vsftpd 2.3.5 开始,chroot 目录必须不可写
chmod a-w /var/www
# 根目录不可写
chmod 775 /var/www
# 用户可写
allow_writeable_chroot=YES
# 标准的vsftpd build写法
# allow_writable_chroot=YES
# 扩展的vsftpd build (vsftpd-ext)写法
/etc/vsftpd/vsftpd.conf
pasv_enable=YES
#Default: YES 设置是否允许pasv模式
#pasv_promiscuous=no
#Default: NO 是否屏蔽对pasv进行安全检查,(当有安全隧道时可禁用)
pasv_min_port=65000
pasv_max_port=65500
#(Default: 0 (use any port)) pasv使用的最大端口
#(Default: 0 (use any port)) pasv使用的最小端口
查看接口
netstat -pntla|grep 115.196.140.238 |awk '/vsftp/ {print $4,$6}'
# 大文件传输测速
服务端口: 192.168.64.14:21 ESTABLISHED 数据端口: 192.168.64.14:65401 ESTABLISHED
http://d.attacker.club/scripts/shell/ServicesDeployment/vsftpd/vsftpd_install.sh