RedHat 5.5 基于虚拟用户验证的vsftpd服务器搭建配置

一、建立虚拟用户口令库文件

# vi /etc/vsftpd/login.txt  

加入用户名和密码(奇数行是用户名,偶数行是密码):

ftp_test
123456

wq保存退出

二、生成vsftpd的认证文件

# db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/login.db  

若提示无db_load命令,则要先安装db4-utils:

# yum install db4-utils  

三、设置认证文件只对root用户可读可写

# chmod 600 /etc/vsftpd/login.db  

四、建立虚拟用户所需的PAM配置文件,手工建立vsftpd.vu文件

# vi /etc/pam.d/vsftpd.vu   

输入:

uth    required        pam_userdb.so   db=/etc/vsftpd/login   account required        pam_userdb.so   db=/etc/vsftpd/login  

注意:这里pam_userdb.so前面不要加路径。

五、建立所有FTP虚拟用户帐号使用的系统用户帐号,并设置该帐号home目录的权限

# useradd –d /home/vsftp –s /sbin/nologin vftp  

六、配置vsftpd.conf文件

# vi /etc/vsftpd/vsftpd.conf  

修改和添加的内容:

anonymous_enable=NO          #禁止匿名用户登录   anon_umask=002   anon_world_readable_only=NO  #可以下载   anon_upload_enable=YES    #可以上传   anon_mkdir_write_enable=YES   #可以创建目录   anon_other_write_enable=YES   #可以修改、删除   guest_enable=YES             #打开虚拟用户   guest_username=vftp   #FTP虚拟用户对应的系统用户<pre class="plain" name="code">pam_service_name=vsftpd.vu    #PAM认证文件   local_root=/var/www/html      #登录后自动切换到的目录(如果不加这一行,那虚拟用户登录后进到/home/vsftp目录)  

wq保存退出。

七、重启vsftpd服务

# service vsftpd restart  

八、解决apache文件不能访问的问题(显示无权限访问文件)
将ftp用户(这里指vftp)添加到apache用户组,并设置用户组有写入权限:

# usermod -a -G apache vftp       #添加vftp到用户组apache   # chown -R :apache /var/www/html  #设置/var/www/html的所属组为apache   # chmod -R g+rw /var/www/html     #设置/var/www/html权限为用户组有读写权限  

注意:还需要确认vsftpd.conf中的anon_umask=002,这是使新上传的文件的用户组有写入权限。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/psdyw.html