这里会显示出您选择的修订版和当前版本之间的差别。
| gtes11.2:x86_64_vsftpd虚拟用户访问ftp | gtes11.2:x86_64_vsftpd虚拟用户访问ftp 2009/12/17 23:46 当前版本 | ||
|---|---|---|---|
| 行 1: | 行 1: | ||
| + | Vsftpd虚拟用户配置步骤如下: | ||
| + | ====== 1、创建虚拟用户数据库 ====== | ||
| + | ===== 1.1、准备用户名、密码文件 ===== | ||
| + | 此文件为文本文件,格式为用户名一行、密码紧随其下一行,依次类推。下面是一个样例文件logins.txt\\ | ||
| + | <code> | ||
| + | tom | ||
| + | foo | ||
| + | fred | ||
| + | bar | ||
| + | </code> | ||
| + | 用户“tom”的密码为“foo”,用户“fred”的密码为“bar”。 | ||
| + | ===== 1.2、创建用户库 ===== | ||
| + | 我们要使用pam_userdb来验证虚拟用户登录,创建用户库命令如下:\\ | ||
| + | <code> | ||
| + | #db_load -T -t hash -f /etc/vsftpd/logins.txt /etc/vsftpd/login.db | ||
| + | </code> | ||
| + | ====== 2、创建PAM验证文件 ====== | ||
| + | 在vsftpd的doc目录中有样例文件,只需要将其复制到/etc/pam.d下即可:\\ | ||
| + | <code> | ||
| + | #cat /usr/share/doc/vsftpd-$VERSION/EXAMPLE/VIRTUAL_USERS/vsftpd.pam | ||
| + | auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/login | ||
| + | account required /lib64/security/pam_userdb.so db=/etc/vsftpd/login | ||
| + | |||
| + | #cp /usr/share/doc/vsftpd-$VERSION/EXAMPLE/VIRTUAL_USERS/vsftpd.pam /etc/pam.d/ftp | ||
| + | </code> | ||
| + | ====== 3、创建虚拟用户所映射的本地用户 ====== | ||
| + | 要使用虚拟用户访问FTP,并不是说就不需要在系统中创建系统用户。我们需要创建一个系统用户用于映射虚拟用户。 | ||
| + | <code> | ||
| + | #useradd -d /home/ftpsite virtual | ||
| + | </code> | ||
| + | ====== 4、创建vsftp.conf配置文件 ====== | ||
| + | 要使用虚拟用户访问FTP,需要在vsftpd.conf中有一些特殊配置: | ||
| + | <code> | ||
| + | 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 | ||
| + | </code> | ||
| + | ====== 5、重新启动FTP服务 ====== | ||
| + | |||
| + | <code> | ||
| + | # /etc/init.d/vsftpd restart | ||
| + | Shutting down vsftpd: [ OK ] | ||
| + | Starting vsftpd for vsftpd: [ OK ] | ||
| + | </code> | ||
| + | ====== 6、测试 ====== | ||
| + | <code> | ||
| + | # ftp localhost | ||
| + | Connected to localhost. | ||
| + | 220 (vsFTPd 2.0.5) | ||
| + | 530 Please login with USER and PASS. | ||
| + | 530 Please login with USER and PASS. | ||
| + | KERBEROS_V4 rejected as an authentication type | ||
| + | Name (localhost:root): tom | ||
| + | 331 Please specify the password. | ||
| + | Password: | ||
| + | 230 Login successful. | ||
| + | Remote system type is UNIX. | ||
| + | Using binary mode to transfer files. | ||
| + | ftp> | ||
| + | </code> | ||