Vsftpd中添加虚拟用户通过pam认证方式,添加虚拟用户
通过pam认证,用db_load添加用户,是真正的虚拟用户。现在我们简单的介绍一下,通过以后的学习,我们再深入补充:
1、在/etc/pam.d/目录中创建一个文件ftp
- [root@linuxsir001 root]# touch /etc/pam.d/ftp
2、在/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
3、创建一系统的用户名用密码的文件logins.txt
- [root@linuxsir001 root]# touch logins.txt
在logins.txt文件中,输入如下的内容。这个内容您可以自己来定。比如我下面的。其实linuxsir007是FTP的虚拟用户名,123456是linuxsir007的密码;linuxsir008是虚拟用户名,234567是linuxsir008的密码,以此类推,您想加入几个就是几个;下面是我添加的FTP的虚拟用户名和密码。
- linuxsir007
- 123456
- linuxsir008
- 234567
- linuxsir009
- 567890
- linuxsir010
- 678901
- linuxsir011
- 789012
4、创建一个真实的用户名linuxsir006,这个linuxsir006的用户,所在的家目录由您来定。我在这里不多说了。我是按系统默认的来添加的。
- [root@linuxsir001 root]# useradd linuxsir006
5、把/etc/hosts复制到/home/linuxsir006,并改变它的属主
- [root@linuxsir001 root]#cp /etc/hosts /home/linuxsir006/hosts
- [root@linuxsir001 root]#chown linuxsir006.linuxsir006 /home/linuxsir006/hosts
6、通过db_load来创建虚拟用户的库文件。我们在前面建的logins.txt文件,我是放在了/root用户目录下。所以咱们得把目录切换到/root目录来创建虚拟用户的库文件。
- [root@linuxsir001 root]# db_load -T -t hash -f logins.txt /etc/vsftpd_login.db
7、更改vsftpd.conf文件,加入如下的几行
- pam_service_name=ftp
- guest_enable=YES
- guest_username=linuxsir006
- anon_world_readable_only=NO
8、重启vsFTPd服务器;改了一系列的文件,不要忘记重启vsFTPd服务器
我是用standalone模式的,当然用下面的方法
- [root@linuxsir001 root]# service vsftpd restart
关闭 vsftpd: [ 确定 ]
为 vsftpd 启动 vsftpd: [ 确定 ]
- [root@linuxsir001 root]#
如果您用的是xinetd模式来启动vsFTPd,我们要重启xinetd服务器
- [root@linuxsir001 root]# service xinetd restart
停止 xinetd: [ 确定 ]
启动 xinetd: [ 确定 ]
- [root@linuxsir001 root]#
9、如果您想让用户登入FTP时,登入成功的相应的信息,请把您制作的.message复制到您的用户的家目录中,这方面的请参考前面的补充。
10、测试:
- [root@linuxsir001 root]# ftp 192.168.0.1
Connected to 192.168.0.1.
220 (vsFTPd 1.1.3)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.0.1:root): linuxsir007
331 Please specify the password.
Password:
230-欢迎光临LinuxSir自由FTP
230-在这里,您将得到最真诚的帮助!
230-本站限度为30KB!
230-每个IP限四个线程
230-请大家遵守FTP的有关规定。
230-多谢合作!
230-
230-LinuxSir管理部
230 Login successful. Have fun.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,0,1,85,171)
150 Here comes the directory listing.
-rw-r--r-- 1 ftp ftp 174 Jun 01 12:59 hosts
drwxr-xr-x 3 ftp ftp 4096 Jun 01 13:29 linuxsir008
drwxr-xr-x 2 ftp ftp 4096 Jun 01 13:24 sun
226 Directory send OK.
ftp>
【编辑推荐】