xueleixu 发表于 2007-11-5 16:31:56

vsftpd的虚拟用户不能登录!

我的安装步骤:
1.下载vsftpd-2.0.5.tar.tar到/root/software
2.tar -zxvf vsftpd-2.0.5.tar.tar
3.重命名vsftpd-2.0.5为vsftpd
4.进入vsftpd
5.修改了builddefs.h,如下:

#ifndef VSF_BUILDDEFS_H
#define VSF_BUILDDEFS_H

#define VSF_BUILD_TCPWRAPPERS
#define VSF_BUILD_PAM
#undef VSF_BUILD_SSL

#endif /* VSF_BUILDDEFS_H */


6.make

7.ll vsftpd,显示如下
-rwxr-xr-x1 root root 84004 Nov6 14:26 vsftpd

8.创建必要的帐号,目录:
# useradd nobody
# mkdir /usr/share/empty
# mkdir /var/ftp
# useradd -d /var/ftp ftp
# chown root:root /var/ftp
# chmod og-w /var/ftp


9.安装vsftp配置文件
# install -m 755 vsftpd /usr/local/sbin/vsftpd-pam
# install -m 644 vsftpd.8 /usr/share/man/man8
# install -m 644 vsftpd.conf.5 /usr/share/man/man5
# install -m 644 vsftpd.conf /etc/vsftpd-pam.conf

DB库存储用户名及密码

1)查看系统是否有相应软件包
rpm -aq|grep db4

db4-utils-4.2.52-7.1
db4-devel-4.2.52-7.1
db4-tcl-4.2.52-7.1
db4-4.2.52-7.1
db4-java-4.2.52-7.1

(2)建立一个logins.txt的文件
    test1
    123

(3)建立数据库文件并设置文件属性
    # db_load -T -t hash -f /root/software/vsftpd/logins.txt /etc/vsftpd_login.db
    # chmod 600 /etc/vsftpd_login.db

4)建立认证文件
    # vi /etc/pam.d/ftp 插入如下两行
      auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
      account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

(5)建立一个虚拟用户
      useradd -d /database/webroot -s /sbin/nologin vsftpd
      #ls -ld /database/webroot
      drwx------3 vsftpd vsftpd 1024 Jun6 22:55 /home/vsftpd/

(6)编写配置文件
   # vi /etc/vsftpd-pam.conf


    listen=YES
    listen_port=21
    tcp_wrappers=YES
    anonymous_enable=NO
    local_enable=YES
    write_enable=NO
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    anon_other_write_enable=NO
    chroot_local_user=YES
    guest_enable=YES
    guest_username=webroot
    virtual_use_local_privs=YES
    pasv_enable=YES
    pasv_min_port=30000
    pasv_max_port=30999
   
7)启动程序
   # /usr/local/sbin/vsftpd-pam /etc/vsftpd-pam.conf &
   
   8) 测试
   
    C:\Documents and Settings\new>ftp
    ftp> open 192.168.107.22
    Connected to 192.168.107.22.
    220 (vsFTPd 2.0.5)
    User (192.168.107.22:(none)): test1
    331 Please specify the password.
    Password:
    530 Login incorrect.
    Login failed.
    ftp>
希望能给我个能配置成功的配置给我,谢谢了!!!!

luronghui 发表于 2007-11-22 09:56:28

怎么回事,其实你可以直接默认安装,什么都不要更改,匿名用户就可以用了,然后自己可以去一点一点配置,改了一点,就测试一次,你会更明白了。
页: [1]
查看完整版本: vsftpd的虚拟用户不能登录!