构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录相关的知识,希望对你有一定的参考价值。
第一步:安装需要的软件vsftp,db4-utils,ftp(用于测试)[[email protected] ~]#yum -y install vsftpd db4-utils ftp
第二步:建立虚拟FTP用户的帐号数据库文件
[[email protected] ~]#vi /etc/vsftpd/vusers_list
vuser_list文件内容如下:
tom (用户名)
123 (用户密码)
jerry (用户名)
456 (用户密码)
注意:不要有空行,一行帐号,一行密码
[[email protected] ~]#cd /etc/vsftpd
[[email protected] ~]#db_load -T -t hash -f vusers_list vusers_login.db
[[email protected] ~]#chmod 600 /etc/vsftpd/vuser_login.db
第三步:创建FTP根目录及虚拟用户映射的系统用户
[[email protected] ~]#useradd -d /var/ftproot -s /sbin/nologin vuser
[[email protected] ~]#chown vuser:vuser /var/ftproot
[[email protected] ~]#chmod 755 /var/ftproot
第四步:建立支持虚拟用户的PAM认证文件
[[email protected] ~]#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文件中添加支持的配置
[[email protected] ~]#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
注意:红色字体需另外添加
第六步:为用户分别建立相对应的目录
[[email protected] ~]#mkdir /tmp/{tom,jerry}
第七步:为用户建立独立的配置文件(权限控制文件名与用户名相同)
[[email protected] ~]#mkdir /etc/vsftpd/vusers_home
[[email protected] ~]#touch /etc/vsftpd/vusers_home/{tom,jerry}
第八步:为用户单独分配不同的权限
[[email protected] ~]#vi /etc/vsftpd/vusers_home/tom
tom文件内容如下(tom用户拥有上传,下载,新建,删除权限)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES
[[email protected] ~]#vi /etc/vsftpd/vusers_home/jerry
jerry文件内容如下(jerry用户只拥有上传,下载,新建权限,不允许删除操作)
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=NO
以上是关于构建基于虚拟用户的vsftpd服务器且每个用户拥有独立的目录的主要内容,如果未能解决你的问题,请参考以下文章