vsftpd服务器配置
构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录
第一步:安装需要的软件vsftp,db4-utils,ftp(用于测试)
[root@yangf ~]#yum -y install vsftpd db4-utils ftp
第二步:建立虚拟FTP用户的帐号数据库文件
[root@yangf ~]#vi /etc/vsftpd/vusers_list
vuser_list文件内容如下:
tom (用户名)
123 (用户密码)
jerry (用户名)
456 (用户密码)
注意:不要有空行,一行帐号,一行密码
[root@yangf ~]#cd /etc/vsftpd
[root@yangf ~]#db_load -T -t hash -f vusers_list vusers_login.db
[root@yangf ~]#chmod 600 /etc/vsftpd/vuser_login.db
第三步:创建FTP根目录及虚拟用户映射的系统用户
[root@yangf ~]#useradd -d /var/ftproot -s /sbin/nologin vuser
[root@yangf ~]#chown vuser:vuser /var/ftproot
[root@yangf ~]#chmod 755 /var/ftproot
第四步:建立支持虚拟用户的PAM认证文件
[root@yangf ~]#vi /etc/vsftpd/vsftpd.vu
vsftpd.vu文件添加如下二行内容
auth required pam_userdb.so db=/etc/vsftpd/vusers_login
account required pam_userdb.so db=/etc/vsftpd/vusers_login
第五步:在vsftpd.conf文件中添加支持的配置
[root@yangf ~]#vi /etc/vsftpd/vsftpd.conf
anonymous_enable=NO //默认为YES,请修改为NO
local_enable=YES //配置文件默认启用且为YES
write_enable=YES //配置文件默认启用且为YES
anon_mkdir_write_enable=NO
anon_other_write_enable=NO
chroot_local_user=YES
guest_enable=YES
guest_username=vuser
pam_service_name=vsftpd.vu
user_config_dir=/etc/vsftpd/vusers_home
注意:红色字体需另外添加
第六步:为用户分别建立相对应的目录
[root@yangf ~]#mkdir /tmp/{tom,jerry}
第七步:为用户建立独立的配置文件(权限控制文件名与用户名相同)
[root@yangf ~]#mkdir /etc/vsftpd/vusers_home
[root@yangf ~]#touch /etc/vsftpd/vusers_home/{tom,jerry}
第八步:为用户单独分配不同的权限
[root@yangf ~]#vi /etc/vsftpd/vusers_home/tom
tom文件内容如下(tom用户拥有上传,下载,新建,删除权限)
local_root=/tmp/tom
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[root@yangf ~]#vi /etc/vsftpd/vusers_home/jerry
jerry文件内容如下(jerry用户只拥有上传,下载,新建权限,不允许删除操作)
local_root=/tmp/jerry
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
第九步:分别为tom和jerry目录授予文件权限
[root@yangf ~]#setfacl -m u:vuser:rwx /tmp/tom
[root@yangf ~]#setfacl -m u:vuser:rwx /tmp/jerry
第十步:重启vsftpd服务
[root@yangf ~]#service vsftpd restart