RHEL 5服务篇—部署FTP文件传输服务(二)部署基于虚拟用户的FTP服务

部署基于虚拟用户的FTP服务

在vsftpd服务器中,使用虚拟用户的主要好处在于,可以将登录的账号与系统登录的账号区分开来,用户名,密码都不相同,香港虚拟主机,从而进一步增强了FTP服务器的安全性。

1、建立虚拟用户的账号数据库vsftpd服务使用BerkeleyDB格式的数据库文件来存放虚拟用户账号。建立这种数据库文件需要使用db_load工具,db_load工具由db4-utils软甲包提供,而db4-utils软件包需要先从系统光盘中的Server中安装。如下安装db4-utils软件包。[root@localhost/]#rpm-ivh/media/Server/db4-utils-4.3.29-10.el5.i386.rpm

2、创建文本格式的用户名、密码列表首先需要建立文本格式的用户名/密码列表文件,奇数行为用户名,偶数行为上一行用户所对用的密码。[root@localhost/]#vim/etc/vsftpd/vusers.listzhangsan123lisi123

3、创建BerkeleyDB格式的数据库文件有了文本格式的用户名/密码列表文件以后,以此文件为数据源通过db_load工具创建出BerkeleyDB格式的数据库文件。[root@localhost/]#cd/etc/vsftpd[root@localhostvsftpd]#db_load-T-thash-fvusers.listvusers.db在db_load命令中,“-T”选项允许非BerkeleyDB的应用程序使用从文本格式转换的DB数据库文件,“-thash”选项指定读取数据文件的基本方法,“-f”选项用于指定数据的源文件。关于db_load命令的详细说明,可参阅/usr/share/doc/db4-utils-4.3.29/ustils/db_load.html文件。为了提高虚拟用户账户的安全性,应将文件权限设置为600,以免数据外泄。[root@localhost/]#chmod600/etc/vsftpd/vusers.*

4、添加虚拟用户的映射账号、创建FTP根目录vsftpd服务器对虚拟用户是控制采用了映射的控制方式,网站空间,将所有的虚拟用户对应到同一个系统用户,该系统用户的宿主目录作为所有虚拟用户登录后共用的FTP根目录,因此还需要添加一个对应的系统用户账号(此账号无需设置密码以及登录shell)[root@localhost/]#useradd-d/var/ftproot-s/sbin/nologinvuser[root@localhost/]#chmod755/var/ftproot–调整权限以允许浏览目录

5、为虚拟用户建立PAM认证文件在vsftpd服务器中,用户认证是通过PAM机制来实现的,香港服务器租用,该机制包含灵活的选择认证的方式。vsftpd服务默认的PAM认证文件位于/etc/pam.d/vsftpd,该文件适用于以Linux主机的系统用户账号进行认证。若要读取虚拟用户的账户数据文件,就需要创建新的PAM认证配置。[root@localhost/]#vim/etc/pam.d/vsftpd.vuauthrequiredpam_userdb.sodb=/etc/vsftpd/vusersauthrequiredpam_userdb.sodb=/etc/vsftpd/vusers上述PAM配置内容中,通过“db=/etc/vaftpd/vusers”参数指定了要使用的虚拟用户数据库文件位置(省略了.db的扩展名),即对应/etc/vsfpd/vusers.db文件。

6、修改vsftpd配置,添加虚拟用户支持在vsftpd.conf配置文件中添加guest_enable,guest_username配置项,将访问FTP服务的所有虚拟用户对应到同一系统用户账户vuser,并修改pam_service_name配置项指向上一步建立的/etc/pam.d/vsftpd.vu认证文件。[root@localhost/]#vim/etc/vsftpd/vsftpd.conf……//省略部分内容local_enable=YES//需要映射本地用户,所以启用此项write_enable=YES//启用上传写入支持anon_umask=022//指定上传权限掩码guest_enable=YES//启用用户映射功能guest_username=vuser//指定映射的系统用户名称pam_service_name=vsftpd.vu//指定新的PAM认证文件在vsftpd服务中,虚拟用户被默认作为匿名用户进行处理以降低权限,因此对应的配置项通常以anon_开头。现在只需重新加载vsftpd.conf配置文件就可以再客户端使用虚拟用户访问FTP了。[root@localhost/]#servicevsftpdreload

7、为不同的虚拟用户建立不同的配置文件,实现不同用户拥有不同的权限若要为不同的虚拟用户账户设置不同的访问权限,可以通过为每个虚拟用户建立独立的配置文件来实现。为FTP用户启用独立配置文件,需要修改vsftpd.conf配置文件,添加“user_config_dir=/etc/vsftpd/vusers_dir”配置项。[root@localhost/]#vim/etc/vsftpd/vsftpd.conf……//省略部分内容user_config_dir=/etc/vsftpd/vusrs_dir有了上述配置以后,就可以在/etc/vsftpd/vusers_dir/目录下为每个虚拟用户创建独立的配置文件了。[root@localhost/]#mkdir/etc/vsftpd/vusers_dir//创建用户配置文件夹[root@localhost/]#cd/etc/vsftpd/vusers_dir/[root@localhost/]#vimzhangsan//为zhangsan用户创建独立的配置文件aono_upload_enable=YES//具有上传文件的权限anon_mkdir_write_enable=YES//具有上传目录的权限在vsftpd.conf文件中启用了user_config_dir配置项以后,应该为每个虚拟用户都建立一个单独的配置文件(可以使空的),否则该用户可能会无法登录FTP。[root@localhost/]#touchlisi//为lisi建立空的配置文件这时重新加载vsftpd.conf配置文件就可以再客户端访问了。[root@localhost/]#servicevsftpdreload

而只有在充满了艰辛的人生旅途中,

RHEL 5服务篇—部署FTP文件传输服务(二)部署基于虚拟用户的FTP服务

相关文章:

你感兴趣的文章:

标签云: