CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享

CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享,第1张

CentOS6.3下vsftpd通过pam认证实现虚拟用户文件共享

FTP的全称是文件传输协议(FTP),是传输文件的专业协议。它工作在OSI模型的第七层,也就是网络层,使用TCP而不是UDP。这样,FTP手机客户端和服务器在建立连接之前,需要经历一个“三次握手”的全过程。FTP服务的另一个关键特征是它可以独立于服务平台。


在LINUX下完成FTP服务的手机软件有很多,最常见的有vsftpd、Wu-ftpd、Proftp等。默认情况下,vsftpd安装在RedHatEnterpriseLinux中。

一般情况下,用户在浏览ftp服务器时,都要经过身份验证。只有经过FTP服务器的相关认证后,用户才能浏览和传输文件。vsftpd显示了三种FTP登录方法:

(1)匿名

Anonymous是一种广泛使用的FTP服务器。如果用户在FTP服务器上没有帐户,用户可以使用anonymous作为他们的用户名和电子邮件地址作为他们的登录密码来登录。匿名用户登录FTP服务器时,其登录目录是匿名FTP服务器的根目录/var/FTP。为了更好的减轻FTP服务器的负载,一般情况下,匿名账户的提交应该是关闭的。

(2)真实(真实账号)

Real也叫本地账号,用真实用户名和登录密码登录,但必要条件是用户在FTP服务器上有自己的账号。用真实账号登录后,他们的登录目录就是用户自己的目录,是系统软件在创建账号时自动建立的。

(3)来宾(虚拟帐户)[/s2/]

如果用户在FTP服务器上有一个帐户,但是这个帐户只用于文件传输服务,那么这个帐户就是guest,guest,这是真实帐户的一种方式。它们的区别在于登录FTP服务器后,geust无法浏览主机目录以外的内容。

下面我们来详细解释一下。


接下来大家刚刚完成了vsftpd的虚拟用户的角色:


1.yum安装vsftpd程序流程:

[root@master ~]# yum install vsftpd -y

2.更改环境变量

备份数据改变环境变量

[root@master ~]# cd /etc/vsftpd [root@master vsftpd]# ll total 28 -rw-------. 1 root root  125 Oct 18 07:54 ftpusers -rw-------. 1 root root  361 Oct 18 07:54 user_list -rw-------. 1 root root 4599 Oct 18 07:54 vsftpd.conf -rw-------. 1 root root 4599 Jan  6 10:53 vsftpd.conf.bak -rwxr--r--. 1 root root  338 Oct 18 07:54 vsftpd_conf_migrate.sh [root@master vsftpd]# cp vsftpd.conf{,.bak} [root@master vsftpd]# cat vsftpd.conf | grep "^[^#]" anonymous_enable=NO  //是不是容许anonymous登录FTP服务器,默认设置是容许的。 local_enable=YES  //是不是容许当地用户登录FTP服务器,默认设置是容许 write_enable=YES  //是不是容许用户具备在FTP服务器文档中实行写的管理权限,默认设置是容许 anon_umask=022  //设定虚拟用户的文档形成掩码为022,默认设置是077 dirmessage_enable=YES  //激话目录信息内容,当远程控制用户变更目录时,将出現信息提示 xferlog_enable=YES  //开启提交和免费下载日志作用 connect_from_port_20=YES  //开启FTP数据信息端口号的联接要求 xferlog_file=/var/log/vsftpd.log  //设定日志文档的文件夹名称和储存途径,它是默认设置的 xferlog_std_format=YES  //是不是应用规范的ftpd xferlog日志格式文件 listen=YES  //使vsftpd 处在单独起动方式 user_config_dir=/etc/vsftpd/vuser_dir  //应用虚拟用户环境变量的目录 pam_service_name=/etc/pam.d/ftp.vu  //设定PAM认证的环境变量名字,该文件储放在/etc/pam.d/目录下. userlist_enable=NO  //用户目录中的用户是不是容许登录FTP服务器,默认设置是不允许 chroot_list_enable=YES  //假如期待用户登录后不可以转换到自身目录之外的其他目录,必须设定此项 tcp_wrappers=YES  //应用tcp_wrqppers做为服务器密钥管理方法 guest_enable=YES  //是不是开启宾客用户(也就是开启虚拟用户) guest_username=root  //假如开启了虚拟用户后文件上传改动文档的用户名 chown_uploads=YES  //是不是开启文件上传后改动为特定的属主 chown_username=root  //是不是开启文件上传后改动为特定的属主用户


3.在/etc/vsftpd/下设置两个目录

vuser_db   #事后储放虚拟用户的环境变量 vuser_dir  #储放虚拟用户的验证文档 [root@master vsftpd]# mkdir vuser_db vuser_dir [root@master vsftpd]# cd vuser_db/ [root@master vuser_db]# ll    total 20 -rw-r--r--. 1 root root    69 Jan  5 11:25 login_vuser -rw-r--r--. 1 root root 12288 Jan  5 11:26 vuser.db [root@master vuser_db]# vim login_vuser //下列是login_vuser虚拟用户的帐号登陆密码文件格式,合数个人行为用户名,偶数个人行为登陆密码 user003 20150105 user004 20150106 user005 20150107 //形成数据文件 //选择项-T容许应用软件可以将文本文档转译加载进数据库查询。因为大家以后是将虚拟用户的信息内容以文档方法储存在文档里的,为了更好地让Vsftpd这一应用软件可以根据文原本加载用户数据信息,务必要应用这一选择项。 假如特定了选择项-T,那麼一定要追跟子选择项-t 子选择项-t,增加在在-T选择项后,用于特定转译加载的数据库类型。拓展详细介绍下,-t能够特定的基本数据类型有Btree、Hash、Queue和Recon数据库查询。 -f:主要参数后边接包括用户名和登陆密码的文本文档,文档的內容是:合数行用户名、双数行登陆密码 [root@master vuser_db]# db_load -T -t hash -f /etc/vsftpd/vuser_db/login_vuser /etc/vsftpd/vuser_db/vuser.db

4.更改pam验证控制模块

[root@master vuser_db]# cd /etc/pam.d/ [root@master vuser_db]# vim ftp.vu  //这一文件夹名称要与主环境变量中的pam_service_name特定的一致 //最终面的vuser便是vuser.db,可是这儿的后缀名并不是必须写的 auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_db/vuser account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vuser_db/vuser


5.为虚拟用户建立匹配的文档。

[root@master vsftpd]# cd /etc/vsftpd/vuser_dir/ [root@master vuser_dir]# ll   //login_vuser中有多少个帐号就建立多少个虚拟用户文档 total 6 -rw-r--r--. 1 root root 177 Jan  5 17:03 user003 -rw-r--r--. 1 root root 177 Jan  5 17:09 user004 -rw-r--r--. 1 root root 177 Jan  5 17:19 user005 [root@master vuser_dir]# vim user003 anon_world_readable_only=NO write_enable=YES anon_upload_enable=YES anon_mkdir_write_enable=YES anon_other_write_enable=YES local_root=/data/www/test  //特定虚拟用户有管理权限登录到哪一个目录 chown_upload_mode=0777  //虚拟用户文件上传的权限管理


至此,大部分设备完成,可以开始vsftpd服务项目:

root@master vsftpd]# service vsftpd start


然后就可以在windows下直接登录测试了:


好了,这里,pam验证的vsftpd的虚拟用户已经完全配备完毕,可以完成虚拟用户登录FTP了。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zz/783834.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存