Next Previous Contents

7. 为VSFTPD配置虚拟用户(文本方式)

7.1 创建虚拟与用户数据库

1. 创建loguser.txt,格式如下:

                userid
                pass
        

比如我创建两个用户:tony 密码为tonypass,etony密码为etonypass 则loguser.txt的内容如下:

                tony
                tonypass
                etony
                etonypass
        

2. 安装数据库生成工具:

                # aptitude install  libdb3-util
        

3. 生成数据库:

                # db_load -T -t hash -f loguser.txt /etc/vsftpd_login.db
        

4. 设置数据库文件的访问权限:

                # chmod 600 /etc/vsftpd_login.db
        

7.2 配置PAM文件

修改/etc/pam.d/vsftpd 内容如下:

        auth required /lib/security/pam_userdb.so db=/etc/vsftpd_login
        account required /lib/security/pam_userdb.so db=/etc/vsftpd_login

7.3 为虚拟用户创建本地系统用户

        useradd -d /home/ftpsite virtual
        mkdir /home/ftpsite
        chown virtual.virtual /home/ftpsite
        ls -ld /home/ftpsite
        drwxr-sr-x 2 virtual virtual 48 2006-08-18 05:48 /home/ftpsite

在目录下创建一些内容

        echo "etony's vsftpd server" > /home/ftpsite/msg

        chown virtual.virtual /home/ftpsite/msg

7.4 创建/etc/vsftpd.conf

根据需要创建/etc/vsftpd.conf,但要确保含有一下设置:

        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=virtual
        listen=YES
        listen_port=21
        pasv_min_port=30000
        pasv_max_port=30999

7.5 启动vsftpd

        /etc/init.d/vsftpd start|restart

7.6 测试


        $ lftp localhost -u tony,tonypass
        lftp tony@localhost:~> ls
        -rw-r--r--    1 1001     1001           22 Aug 17 21:49 msg
        lftp tony@localhost:/> exit
        $ lftp localhost -u tony,tonyp
        lftp tony@localhost:~> ls
        ls: Login failed: 530 Login incorrect.


Next Previous Contents