利用VSFTP架设Linux环境下的FTP服务器(4)

6. 为VSFTPD配置虚拟用户(文本方式)
6.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
        

6.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

6.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

6.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

6.5 启动vsftpd

/etc/init.d/vsftpd start|restart


6.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.

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyjgfd.html