|
2013-01-24, 07:19 PM | #1 | |
注册日期: 2003-10-22
帖子: 11,053
积分:6
精华:24
现金:14348金币
资产:29325305金币
|
Vsftpd虚拟用户设置
创建文本文件loguser.txt 格式如下: user_id password 生成数据库 如果你以前没装过db4.8-util 或者你不清楚装没装,需先执行下面的命令 sudo apt-get install db4.8-util 然后,我们执行 sudo db4.8_load -T -t hash -f /home/loguser.txt /etc/vsftpd_login.db 最后设置一下数据库文件的访问权限 sudo chmod 600 /etc/vsftpd_login.db 配置PAM文件 编辑文件/etc/pam.d/vsftpd 注释掉其它行,将以下内容增加到原文件: auth required pam_userdb.so db=/etc/vsftpd_login account required pam_userdb.so db=/etc/vsftpd_login 我们上一步建立的数据库 vsftpd_login 在此处被使用 我们建立的虚拟用户将采用PAM进行验证,这是通过/etc/vsftpd.conf文件中的 语句pam_service_name=vsftpd来启用的,稍后你将发现。 为虚拟用户创建本地系统用户 新建一个系统用户vsftpd,用户家目录为/home/vsftpd, 用户登录终端设为/bin/false(即使之不能登录系统) sudo useradd vsftpd -d /home/vsftpd -s /bin/false sudo chown vsftpd:vsftpd /home/vsftpd /etc/vsftpd.conf 根据需要创建/etc/vsftpd.conf,一般要确保含有以下设置: listen=YES anonymous_enable=NO dirmessage_enable=YES xferlog_enable=YES xferlog_file=/var/log/vsftpd.log xferlog_std_format=YES chroot_local_user=YES guest_enable=YES guest_username=vsftpd user_config_dir=/etc/vsftpd_user_conf pam_service_name=vsftpd local_enable=YES secure_chroot_dir=/var/run/vsftpd 现在为止,我们的3个用户都可以工作了,可是它们的根目录现在都是/home/vsftpd,权限也都一样。 那么怎么才能完成我们预定的目标呢? [编辑] /etc/vsftpd_user_conf 在上面的配置中,有这么一行 user_config_dir=/etc/vsftpd_user_conf 现在,我们要把各个用户的配置文件放到目录/etc/vsftpd_user_conf中 db1文件中的内容如下 local_root=/home/vsftpd/dbzh1 同样,db2文件中的内容 local_root=/home/vsftpd/dbzh2 那么,db3的内容呢? 其实也很简单 write_enable=YES anon_world_readable_only=NO //表示用户可以浏览FTP目录和下载文件 anon_upload_enable=YES //表示用户可以上传文件 anon_mkdir_write_enable=YES //表示用户具有建立和删除目录的权利 anon_other_write_enable=YES //表示用户具有文件改名和删除文件的权限(修改,删除) local_root=/home/vsftpd/dbzh3 //ftp目录 这里要注意不能有空格,不然登录的时候会提示出错。 |
|
|
||
|