Linux的FTP服务器的虚拟账户和虚拟主机的配置.十四
一、虚拟账户的配置。<?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服务器。如下图所示访问成功。
虚拟主机实验成功。
转载于:https://blog.51cto.com/guoweishuai/269629