欢迎来到天天文库
浏览记录
ID:20513850
大小:59.50 KB
页数:4页
时间:2018-10-12
《无错版vsftpd+mysql+pam配置虚拟用户方法》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、无错版Vsftpd+Mysql+Pam配置虚拟用户方法 VSFTPD是一种在UNIX/Linux中非常安全且快速的FTP服务器,目前已经被许多大型站点所采用。VSFTPD支持将用户名和口令保存在数据库文件或数据库服务器中。VSFTPD称这种形式的用户为虚拟用户。相对于FTP的本地(系统)用户来说,虚拟用户只是FTP服务器的专有用户,虚拟用户只能访问FTP服务器所提供的资源,这大大增强系统本身的安全性。相对于匿名用户而言,虚拟用户需要用户名和密码才能获取FTP服务器中的文件,增加了对用户和下载的可管理性。对于需要提供下载服务,但又不希望所有人都可
2、以匿名下载;既需要对下载用户进行管理,又考虑到主机安全和管理方便的FTP站点来说,虚拟用户是一种极好的解决方案。本文介绍在RedHatLinux9上如何将VSFTPD的虚拟用户名和密码保存在MySQL数据库服务器中。 一、VSFTPD的安装 目前,VSFTPD的最新版本是1.2.0版。官方下载地址为ftp://vsftpd.beasts.org/users/cevans/vsftpd-1.2.0.tar.gz。在安装前,需要先做以下准备工作: VSFTPD默认配置中需要nobody用户。在系统中添加此用户,如果用户已经存在,useradd命
3、令有相应提示。 [roothpe45root]#useraddnobody useradd:usernobodyexists VSFTPD默认配置中需要/usr/share/empty目录。在系统中此目录,如果目录已经存在,mkdir命令有相应提示。 [roothpe45root]#mkdir/usr/share/empty/ mkdir:cannotcreatedirectory'/usr/share/empty':Fileexists VSFTPD提供匿名FTP服务时,需要ftp用户和一个有效的匿名目录。 [ro
4、othpe45root]#mkdir/var/ftp/ [roothpe45root]#useradd-d/var/ftpftp 接下来的操作对于ftp用户是否已经存在都是有用的。 [roothpe45root]#choodog-ake [roothpe45vsftpd-1.2.0]#makeinstall 上面的makeinstall命令将编译好的二进制文件、手册等复制到相应目录。在RHL9上,可能需要手动执行以下复制: [roothpe45vsftpd-1.2.0]#cpvsftpd/usr/local/sbin/vsftpd
5、[roothpe45vsftpd-1.2.0]#cpvsftpd.conf.5/usr/local/share/man/man5 [roothpe45vsftpd-1.2.0]#cpvsftpd.8/usr/local/share/man/man8 接下来,我们复制一个简单的配置文件作为基础供后面修改。 [roothpe45vsftpd-1.2.0]#cpvsftpd.conf/etc [roothpe45vsftpd-1.2.0]#cpRedHat/vsftpd.pam/etc/pam.d/ftp 复制PAM验证文件,以允许本地用户登
6、录VSFTPD。 [roothpe45vsftpd-1.2.0]#cpRedHat/vsftpd.pam/etc/pam.d/ftp 二、创建guest用户 VSFTPD采用PAM方式验证虚拟用户。由于虚拟用户的用户名/口令被单独保存,因此在验证时,VSFTPD需要用一个系统用户的身份来读取数据库文件或数据库服务器以完成验证,这就是VSFTPD的guest用户。这正如同匿名用户也需要有一个系统用户ftp一样。当然,我们也可以把guest用户看成是虚拟用户在系统中的代表。下面在系统中添加vsftpdguest用户,作为VSFTPD的guest
7、。 [roothpe45vsftpd-1.2.0]#useraddvsftpdguest 当虚拟用户登录后,所在的位置为vsftpdguest的自家目录/home/vsftpdguest。如果要让虚拟用户登录到/var/ftp等其他目录,修改vsftpdguest的自家目录即可。 三、设置VSFTPD配置文件 在/etc/vsftpd.conf文件中,加入以下选项: guest_enable=YES guest_username=vsftpdguest 然后执行以下命令,让VSFTPD在后台运行: [roothpe45vsftpd
8、-1.2.0]#/usr/local/sbin/vsftpd 四、将虚拟用户保存在MySQL数据库服务器中 我们建立数据库vsftp
此文档下载收益归作者所有