CentOS6.6安装及配置vsftpd文件服务器

1、安装vsftpd和db4-utils,后者用来生成密码库文件,命令如下:

  # yum install -y vsftpd db4*

2、修改SELINUX,命令如下:

  # vim /etc/sysconfig/selinux    // 将SELINUX=enforcing 改为 SELINUX=permissive

  # setenforce 0          // 运行此命令使修改生效

3、防火墙允许22端口

  # iptables -A INPUT -m state --state NEW -m tcp -p tcp --dport 21 -j ACCEPT

4、建立虚拟用户登录文件,奇数行为用户,偶数行为密码,只能这样写,否则系统不认:

  # vi /etc/vsftpd/logins.txt

  在logins.txt里添加以下内容:

   upload

   password

   download

   password

   adminftp

   password  

5、生成口令认证文件:

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

6、创建虚拟用户认证文件:

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

   添加以下内容

   auth    required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins

   account   required  /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_logins

7、创建虚拟用户

  # useradd -d /home/virtualuser -s /sbin/nologin virtualuser

  # chmod 777 /home/virtualuser  // 给777权限,否则用户不能访问

8、修改主配置文件:

  # vi /etc/vsftpd/vsftpd.conf

  修改以下内容:

  anonymous_enable=NO     // 不允许匿名访问

  chroot_local_user=YES      // 将所有用户限制定根目录下

  guest_enable=YES        // 启用虚拟用户

  guest_username=virtualuser   // 映射虚拟用户

  user_config_dir=/etc/vsftpd/vsftpd_user_conf    // 为不同用户分配不同权限

9、创建虚拟用户配置文件并定位的配置文件:

  # mkdir /etc/vsftpd/vsftpd_user_conf

  # cd /etc/vsftpd/vsftpd_user_conf

  # touch upload download adminftp         // 此处建立的文件需与logins.txt里的用户名一致

10、分别给三个用户分配不同的权限

  1)# vi upload  //用户只能上传配置

    local_root=/home/virtualuser

    download_enable=NO

    wite_enable=YES

    anon_upload_enable=YES

  2) # vi download  // 用户只能下载

    local_root=/home/virtualuser

    anon_world_readable_only=NO

  3) # vi adminftp  // 用户所有权配置

    local_root=/home/virtualuser

    download_enable=YES

    write_enable=YES

    anon_upload_enable=YES

    anon_mkdir_write_enable=YES

    anon_other_write_enable=YES

11、重启vsftpd服务并测试虚拟用户:

  # service vsftpd start    // 启动vsftpd服务

  # chkconfig vsftpd on    // 设置开机启动vsftpd

  ftp://localhost        // 测试虚拟用户连接效果

PS:如果本地连接正常,而其它电脑连不上,建议将SELINUX设置为disabled,另外关掉防火墙:service iptables stop。

此文参照此链接:http://www.ailab.cn/article/2015082027708.html