LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1557|回复: 6

vsftpd的虚拟用户为什么不能登录(内附详细步骤)?

[复制链接]
发表于 2005-10-8 17:11:16 | 显示全部楼层 |阅读模式
1)创建guest用户
   groupadd virtual
   useradd -d /home/ftpsite -m virtual
2)生成虚拟用户
  aptitude install db4.3-util

  cat login.txt
  usera
  123
  userb
  456

  db4.3_load -T -t hash -f login.txt /etc/vsftpd.login.db
  
3)生成/etc/pam.d/vsftpd.vu文件,内容如下:
   auth required /lib/security/pam_userdb.so db=/etc/vsftpd.login
   account required /lib/security/pam_userdb.so db=/etc/vsftpd.login

4)修改vsftpd.conf文件,内容如下:
  listen=YES
  local_enable=YES
  dirmessage_enable=YES
  xferlog_enable=YES
  connect_from_port_20=YES
  pam_service_name=vsftpd.vu
  guest_enable=YES
  guest_username=virtual

5)/etc/init.d/vsftpd start
lftp 127.0.0.1
lftp 127.0.0.1:~> user usera
Password:
lftp 127.0.0.1:~> debug 7
lftp 127.0.0.1:~> ls
---- Connecting to 127.0.0.1 (127.0.0.1) port 21
<--- 220 (vsFTPd 2.0.3)
---> FEAT
<--- 211-Features:
<---  EPRT
<---  EPSV
<---  MDTM
<---  PASV
<---  REST STREAM
<---  SIZE
<---  TVFS
<--- 211 End
---> USER usera
<--- 331 Please specify the password.
---> PASS XXXX
<--- 530 Login incorrect.
---> PWD
ls: Login failed: 530 Login incorrect.
<--- 530 Please login with USER and PASS.
---> QUIT
<--- 221 Goodbye.
---- Closing control socket


大家帮我看看,是什么地方有问题呢?
发表于 2005-10-8 18:27:09 | 显示全部楼层
什么叫不能"不能附录"?
回复 支持 反对

使用道具 举报

发表于 2005-10-8 19:17:58 | 显示全部楼层
不明白附录的意思
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-8 21:12:20 | 显示全部楼层
错了,应该是“不能登录”。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-9 08:44:03 | 显示全部楼层
顶!寻求帮助
回复 支持 反对

使用道具 举报

发表于 2005-10-9 21:57:49 | 显示全部楼层
Post by dacheng
顶!寻求帮助


你好像少了给每个虚拟用户建立配置文件的步骤....

这有两个附件,一个是我用来照着做虚拟ftp的

一个是ftp的超完整的配置说明,你看看...希望用的上

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-10-10 20:16:16 | 显示全部楼层

谢谢楼上兄弟们的意见,我找到原因了!

使用命令:
zless /usr/share/doc/vsftpd/EXAMPLE/VIRTUAL_USERS/README.gz
其中有如下内容:
NOTE: Many systems have multiple versions of "db" installed, so you may
need to use e.g. db3_load for correct operation. This is known to affect
some Debian systems. The core issue is that pam_userdb expects its login
database to be a specific db version (often db3, whereas db4 may be installed
on your system)

说明应该使用db3_load命令,而我使用的是db4.3_load。原因就在这里了。
使用命令aptitude install libdb3-util然后就有了db3_load命令了。注意使用这个命令:chmod 600 /etc/vsftpd_login.db 后面的步骤不变就可以了。

为了使不同的虚拟用户登录系统后进入不同的主目录,实现localuser的效果。还可以使用下列命令:
1.echo "user_config_dir=/etc/vsftpd_user_conf">/etc/vsftpd.conf
2.vi /etc/vsftpd_user_conf/xxx (xxx为虚拟帐号的名字)
3.cat /etc/vsftpd_user_conf/xxx 其内容如下:
local_root=/home/dirname
4.mkdir /home/dirname&&chown virtual.virtual dirname
5./etc/init.d/vsftpd restart

对于vsftpd,只有两个字形容:“强悍!”,如果要补充两个字,就是“佩服”。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表