四、 使用pam实现虚拟用户(适用于standalone启动与xinetd启动)
1. 配置
实现vsftp虚拟用户的关键是创建vsftp的pam用户数据文件和修改vsftpd的pam配置文件.具体实验步骤如下:
1) 建立包含虚拟用户名称和密码的文本文件,文件奇数行为用户名,偶数行为用户密码.例如:
[root@RHEL5 mnt]# vi login.txt
test
123456
oralce
123456
2) 将包含虚拟用户的文本转换成数据库文件.
db_load -T -t hash -f login.txt /etc/vsftpd/vsftpd_login.db
db_load命令包含在db4-utils软件包中,如果系统中不存在该命令安装此包可以解决.
3) 修改vsftp的pam配置文件/etc/pam.d/vsftpd.将文件内容修改为以下(可以重新新建一个文件.把以前的进行备份.):
[root@RHEL5 pam.d]# vi vsftpd
auth required pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required pam_userdb.so db=/etc/vsftpd/vsftpd_login
4) 检查vsftpd.conf文件 包含以下选项:
guest_enable=yes
guest_username=ftp
pam_service_name=vsftpd
5) 重起vsftp服务
service vsftpd restart
2. 测试
[root@RHEL5 ~]# ftp 192.168.88.22
Connected to 192.168.88.22.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.88.22:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,88,22,250,147)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 8 Jan 02 10:16 mm
拥有帝国一切,皆有可能。欢迎访问phome.net
drwx---rwx 2 0 0 4096 Jan 02 11:11 pub
226 Directory send OK.
ftp>
还可以为不同的虚拟用户创建独立的配置文件,该参数指明用户的独立配置文件的存放位置,在配置文件中添加此参数.
User_config_dir=/etc/vsftpd/userconf
创建User_config_dir=/etc/vsftpd/userconf目录并在该目录下建立与用户同名的文件,并在文件中写入相应的选项.例如:在文件test中写如”write_enable=no”.重新启动vsftp服务器使修改生效.
[root@RHEL5 ~]# cd /etc/vsftpd
[root@RHEL5 vsftpd]# mkdir userconf
[root@RHEL5 vsftpd]# cd userconf/
[root@RHEL5 userconf]# vi test
write_enable=no
测试如下:
[root@RHEL5 ~]# ftp 192.168.88.22
Connected to 192.168.88.22.
220 (vsFTPd 2.0.1)
530 Please login with USER and PASS.
530 Please login with USER and PASS.
KERBEROS_V4 rejected as an authentication type
Name (192.168.88.22:root): test
331 Please specify the password.
Password:
230 Login successful.
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
227 Entering Passive Mode (192,168,88,22,251,229)
150 Here comes the directory listing.
-rw-r--r-- 1 0 0 8 Jan 02 10:16 mm
drwx---rwx 2 0 0 4096 Jan 02 11:19 pub
226 Directory send OK.
ftp> cd pub
250 Directory successfully changed.
ftp> ls
227 Entering Passive Mode (192,168,88,22,112,205)
150 Here comes the directory listing.
226 Directory send OK.
ftp> mkdir mm
550 Permission denied.
ftp> bye
221 Goodbye.
[root@node1 ~]# ftp 192.168.88.22
Co |