实验的相关情况介绍
两台RHEL4 VM:一台为FTP服务器;一台为FTP客户机;RHEL4安装光盘或ISO镜像。
实验结果(含详细操作步骤:):<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

一、vsftpd虚拟用户账号设置

1.使用rpm命令安装RHEL41张安装光盘中的vsftpd软件包。
以管理员登录
[root@as4]#mount /media/cdrom
[root@as4]#rpm -ivh /media/cdrom/RadHat/RPMS/vsftpd-2.0.1-5.i386.rpm
<?xml:namespace prefix = v ns = "urn:schemas-microsoft-com:vml" />

 

2.建立虚拟用户账号的口令库文件logins.txt,文件中包括user1和user2两个用户账号,口令都是123
[root@as4]#vi logins.txt
内容如下:
user1
123
user2
123

3.使用db_load命令由logins.txt生成口令认证文件“/etc/vsftpd/vsftpd_login.db”。需要安装db4-utils
[root@as4]#db_load -T -t hash -f logins.txt /etc/vsftpd/vsftpd_login.db
[root@as4]# file /etc/vsftpd/vsftpd login.db

4. chmod 600 更改 /etc/vsftpd/vsftpd.login.db

/etc/pam.d/”目录下建立vsftpd服务器中虚拟用户认证的PAM文件vsftpd
[root@as4]# vi /etc/pam.d/vsftpd
/内容如下/
#%PAM-1.0
#auth required pam_listfile.so item=user sense=deny ....
.....
#session required pam_stack.so service=system-auth
/在此处加入如下两行/
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

5.建立系统用户virtual,指定其宿主目录是“/home/ftpsite”,并设置该目录的权限为700
[root@as4/]# useradd -d /home/ftpsite virtual
[root@as4/]# chmod 700 /home/ftpsite

6.vsftpd.conf配置文件中进行虚拟账号的相关设置,加入如下内容:

  guest_enable=YES

  guest_username=virtual

  per_service_name=vsftpd

7.重新启动vsftpd服务程序。
[root@as4/]# service vsftpd restart

8.使用ftp命令连接FTP服务器,并使用已设置的虚拟用户账号进行登录。如下图所示:

 [root@as4/]# ftp 172.16.1.10

 

二、vsftpd服务器对客户端的数量和连接速率的限制

1.使用rpm命令验证系统中已经安装了vsftpd软件包。
#rpm -qa | grep vsftpd

2.vsftpd.conf配置文件中按照以下要求进行配置:

使用max_clients设置FTP服务器的最大客户端数量为3

使用max_per_ip设置FTP服务器对于同一IP地址的最大连接数为1

使用local_max_rate设置本地用户的最大传输速率为50KB/s

使用anou_max_rate设置匿名用户的最大传输速率为20KB/s

保存vsftpd.conf配置文件,即加入如下内容
max_clients=3
max_per_ip=1
local_max_rate=50000
anon_max_rate=2000

3.重新启动vsftpd服务。

4.使用ftp命令验证对FTP服务器的设置结果。