ubuntu下的vsftpd虚拟用户配置

   首先你要确认安装了vsftpd,然后安装libdb4.6-util:

          sudo apt-get install db4.6-util

   然后在etc下面建立目录vsftpd, 在里面建个txt文档,比如logins.txt,在里面输入用户名及密码,如:

    test

    123456

  然后通过前面安装的libdb4.6,执行 sudo db4.6_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/vsftpd_login.db

  就会在vsftp下面生产一个db文件,里面储存了用户名及密码

  在etc下建一个文件夹 vsftpd_user_conf,上面添加了test用户,那么在里面添加test文件写入以下内容:

 

   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=/var/www/xxx //ftp目录

在etc下的pam.d里建个文件如vsftpd.vu,我们后来写配置的时候要用到它,写入(一定要顶格,不要空格哦):
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

然后新建系统用户haha,使其跟目录为/var/www,并使其不能登录系统
sudo useradd haha -d /var/ww -s /bin/false

sudo chown haha.haha /var/ww


  最后我们写配置文件vsftpd.conf,一般在etc下,写之前最好备份下,内容如下:
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=haha
user_config_dir=/etc/vsftpd_user_conf
pam_service_name=vsftpd.vu
local_enable=YES

重新启动vsftpd /etc/init.d/vsftpd restart

补充:如果有2个用户,一个是管理/var/www下的所有目录的user1 一个是管理www下的XXX目录的user2那么,如果user1想管理到user2的目录 必须在local_root路径后加斜杠/,如/var/w
ww/

 

  

posted on 2010-08-26 13:37  不会游泳的猪  阅读(511)  评论(0编辑  收藏  举报

导航