CENTOS下vsftpd安装配置

本文介绍vsftpd的安装和配置,配置后的效果:

  • 禁止匿名登录
  • 支持虚拟账户

安装

1
yum -y install vsftpd

配置

禁止匿名

1
2
## vsftpd.conf
anonymous_enable=NO

限制只能访问本地目录

1
2
## vsftpd.conf
chroot_local_user=YES

设置支持被动模式

1
2
3
4
## vsftpd.conf
pasv_enable=YES
pasv_min_port=6000
pasv_max_port=7000

增加虚拟账号

1
2
3
4
5
6
7
8
9
10
cd /etc/vsftpd
cat > vuser << EOF
ftp1
123456
ftp2
123456
EOF
db_load -T -t hash -f vuser vuser.db

useradd -d /data/vuser -s /sbin/nologin vuser

增加虚拟账号的pam认证

1
2
3
4
cat > /etc/pam.d/vsftpd.vuser << EOF
auth required pam_userdb.so db=/etc/vsftpd/vuser
account required pam_userdb.so db=/etc/vsftpd/vuser
EOF

开启虚拟账号

1
2
3
4
## vsftpd.conf
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vuser

增加虚拟账号登录

1
2
## vsftpd.conf
anon_upload_enable=YES

不同用户增加不同权限

1
2
## vsftpd.conf
user_config_dir=/etc/vsftpd/vuser_dir

每个虚拟用户,一个配置文件

1
2
3
4
5
6
7
8
9
10
## 虚拟账户1
cat > /etc/vsftpd/vuser_dir/ftp1 << EOF
local_root=/data/FTP/ftpuser
write_enable=YES
anon_umask=022
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
EOF

增加IP限制

1
2
3
echo "vsftpd:ALL" >> /etc/hosts.deny
echo "vsftpd:192.168.1.0/255.255.255.0" >> /etc/hosts.allow
echo "vsftpd:172.16.0.0/255.255.0.0" >> /etc/hosts.allow

脚本

CENTOS6下vsftpd快速安装+增加虚拟用户的脚本:

参考文档

  1. http://www.centoscn.com/CentosServer/ftp/2014/1215/4313.html
  2. http://jingyan.baidu.com/article/03b2f78c771db45ea237ae28.html