热门标签 | HotTags
当前位置:  开发笔记 > 运维 > 正文

CentOS6.4系统配置vsftpd服务器的虚拟用户

系统:centos6.41添加虚拟用户的用户及密码[root@localhostvsftpd]#vimdb_user.txt写入如下,单行用户名,双行密码virtual1abcd1234virtual2abcd12342生成用户口令认证文件用户认证文件的生成需要安装额外的软件来实现,软件名为:db4-utils[roo
系统:centos 6.4

1>添加虚拟用户的用户及密码
  [root@localhost vsftpd]# vim db_user.txt
  写入如下,单行用户名,双行密码
    virtual1  
    abcd1234
    virtual2
    abcd1234

  2> 生成用户口令认证文件
      用户认证文件的生成需要安装额外的软件来实现,软件名为:db4-utils
    [root@localhost Packages]# rpm -ivh db4-utils-4.7.25-16.el6.i686.rpm
    warning: db4-utils-4.7.25-16.el6.i686.rpm: Header V3 RSA/SHA256 Signature, key ID     c105b9de: NOKEY
    Preparing...                ########################################### [100%]
package db4-utils-4.7.25-16.el6.i686 is already installed
    使用命令开始生成文件,文件名为:db_user.db
   [root@localhost vsftpd]# db_load -T -t hash -f db_user.txt db_user.db

3>为保证安全性可以把密码文件修改一下权限
    [root@localhost vsftpd]# chmod 600 db_user.*

4> 编辑PAM认证文件,先把此文件备份一下
     [root@localhost vsftpd]# cp -p  /etc/pam.d/vsftpd  /etc/pam.d/vsftpd.bak
     编辑文件,把里面的内容全部删除之后再写入如下两句,如果系统是64位的,就把下面的lib修改成lib64就行了,注意,一定要把里面的内容给清除,不然的话是不成功的.
    [root@localhost vsftpd]# vim /etc/pam.d/vsftpd
    auth required /lib/security/pam_userdb.so db=/etc/vsftpd/db_user
    account required /lib/security/pam_userdb.so db=/etc/vsftpd/db_user

5>FTP虚拟用户是需要一个系统用户的,这个用户不需要密码,也不需要登录,只提供一个登录目录.并且让这个目录对other用户拥有读写权限.
  [root@localhost vsftpd]# useradd -s /sbin/nologin code
  [root@localhost vsftpd]# chmod o+rw /home/code

6>修改vsftpd主配置文件,让系统支持虚拟用户,添加如下内容
 [root@localhost vsftpd]# vim vsftpd.conf
   guest_enable=yes
   guest_username=code

7>重启vsftpd服务器
  [root@localhost vsftpd]# service vsftpd restart
 关闭 vsftpd:                            [确定]
 为 vsftpd 启动 vsftpd:                  [确定]

8>开始测试
  在另一台linux下测试,首先在/home/code中写入一些内容,如
   [root@localhost vsftpd]# echo "this is a test" > /home/code/code.txt
   使用另一台Linux连接
   [code@root ~]$ lftp virtual1@192.168.1.102
   口令:
   lftp virtual1@192.168.1.102:~> ls      
   -rw-r--r--    1 0        0              15 Oct 25 07:55 code.txt

9>测试成功!
 注:如果你在登录之后全出现如下情况的话,那么就是你的SELinux在起作用,SELinux阻止了你的登录
   lftp code@192.168.1.102:~> ls          
   ls: 登录失败: 500 OOPS: cannot change directory:/home/code
   我们可以直接关闭SELinux
   命令:/usr/sbin/setenforce 0
  也可以使用另一种方法  

 这样就可以了....

推荐阅读
author-avatar
雅俊建安义琬
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有