一、虚拟账户的配置。 <?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" />

1. 新建虚拟帐号文件。

例: vi users.txt ,打开后随便在文件里写入几个用户和密码。如下图所示。格式为:一行一个用户名或密码。

2. 将虚拟帐号文件生成为库文件。

例: db_load –T –t hash –f users.txt /etc/vsftpd_login.db 作用是能够登录 FTP 服务器的权限, /etc/vsftpd_login.db 存放的是有效的用户。

3. 修改库文件的权限,作用是保证库文件的安全。

例: chmod 600 /etc/vsftpd_login.db

4. 打开配置文件,修改安全机制。修改 ftp 服务器的 pam 机制,把文件里的原文件全部注释掉然后写入以下两条语句。

例: vi /etc/pam.d/vsftpd

auth required pam_userdb.so db=/etc/vsftpd_login

account required pam_userdb.so db=/etc/vsftpd_login, 如下图所示,加入这两条语句的作用是使 pam 文件认识 /etc/vsftpd_login.db

5. 新建一个系统映射帐号不设密码也可以。

例: useradd vuser

6. 打开配置文件,将帐号产生映射,最好把匿名用户的信息注释掉。如下图所示匿名用户信息以注释掉了。

然后在文件的最下面加入两条语句。

guest_enable 的意思是否开启虚拟帐号的功能。

guest_username 这个的作用是产生映射。

例: guest_enable=YES

guest_username=vuser

保存退出后,重启 FTP 服务。

例: service vsftpd restart

最后测试我们用虚拟帐号去登录 ftp 服务器。如下图所示成功用虚拟用户 jack jieke 登录。

二.不同的本地用户拥有的不同的权限。

1. 打开配置文件。

例: vi /etc/vsftpd/vsftpd.conf

加入 user_conf_dir=/etc/vsftpd_user_conf 意思是指定用户配置文件路径。不需是在 /etc 目录下但是名字可以随便起。

2. 创建目录在 etc 目录下 vsftpd_user_conf

例: mkdir /etc/users, 然后在进入到 vsftpd_user_conf 里创建和用户名相同的文件。意思是在此路径下新建配置文件,文件名以用户名进行命名。

3. 打开刚才新建的配置文件,然后写入 write_enable=NO, 保存退出后,重新启动 ftp 服务。还可以写入 local_max_rate=500000( 的意思是上传速度的限制 ) 在这里我就不做了。

重启服务后,进行测试我们用 guo 用户来登录 ftp 服务器,如下图所示创建目录和上传文件失败,实验成功。

三、查看用户访问 ftp 服务器。

1. 首先使用终端让多个用户登录 ftp 服务器。

例: guo 用户, wei 用户, shuai 用户。分别在终端 1 ,终端 2 ,终端 3 进行登录访问 ftp 服务器。

然后切换会终端,使用 ps –aux|grep vsftpd 命令进行查看 ftp 的系统进程。

如上图所示用户在哪个终端登录 ftp 服务器没有显示。接下来我们在打开配置文件,写入 sertproctitle_enable=YES 就可以显示终端了。

重启 ftp 服务。例: service vsftpd restart
然后在使用命令 ps –aux 在次查看进程。如下图所示用户登录 ftp 服务器所在的终端显示出来了,验成功。

四、虚拟主机。

作用:构建多个 FTP 服务器。

1. 配置虚拟 ip

例: ifconfig eth0 1  192.168.1.221 netmask  255.255.255.0

2. 新建 ftp 服务器默认路径为 /var/ftp2

例: mkdir /var/ftp2

新建一个虚拟 ftp 的所有者并且指定其宿主目录。

3. /var 目录下的 ftp2 的权限改为 755 ,然后在修改所有者和所有组。

接下来在 /var/ftp2 路径下新建 pub 目录,然后在修改 pub 的所有者和所有组。

5. 新建虚拟 ftp 服务器配置文件。

使用命令复制一下真实的 ftp 服务器配置文件。

例: cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd1.conf 如下图所示复制成功。

6. 接下来我们打开真实 ftp 服务器配置文件进行编辑。

例: vi /etc/vsftpd/vsftpd.conf 里加入 listen_address=192.168.1.220 意思是监听地址。

然后再打开虚拟 ftp 服务器的配置文件。

例: vi /etc/vsftpd/vsftpd1.conf 里加入一下语句。

Listen_address=192.168.1.221

ftp_username=ftp2, 意思是指定用户。

Local_root=/var/ftp2 ,意思是指定目录。

保存后,重新启动 ftp 服务。

例: srevice vsftpd restart

最后测试;我们分别使用 guo 用户访问真实 ftp 服务器和用 wei 用户访问虚拟 ftp 服务器。如下图所示访问成功。

虚拟主机实验成功。