zoukankan      html  css  js  c++  java
  • RHEL/Centos下VSFTPD服务器搭建

    目的

    Linux下安装配置vsfptd服务器,并通过客户端验证。

    环境

    Centos 6
    局域网

    内容

    配置Vsftpd服务器:实现匿名用户、本地用户和虚拟用户登录的配置。匿名用户可以上载文件,上载后的文件的权限为rw-r—r--,可以创建目录,但是不能删除文件,匿名用户的登录目录为/var/vsftpd。本地用户fayero和clinux,其中fayero可以上载文件,上载后的文件权限为rw-r-----,clinux用户不能上载文件,本地用户被限制在家目录中。root用户不能登录。

    步骤

    配置匿名和本地用户

    1. 创建/var/vsftpd/upload目录
      mkdir -p /var/vsfptd/upload
    2. 修改/var/vsftpd/upload目录的权限
      chmod o+w /var/vsftpd/upload
    3. 编辑vsftpd.conf,添加以下内容
      write_enable=yes#是否允许登陆用户有写权限。属于全局设置,默认值为YES。
      anonymous_enable=yes #控制是否允许匿名用户登入,YES 为允许匿名登入,NO 为不允许。默认值为YES。
      anon_root=/var/vsftpd #使用匿名登入时,所登入的目录。默认值为/var/vsftp。注意vsftp目录不能是777的权限属性,即匿名用户的家目录不能有777的权限
      anon_umask=022 #设置匿名登入者新增或上传档案时的umask 值。默认值为022,则新建档案的对应权限为755。
      anon_upload_enable=yes #如果设为YES,则允许匿名登入者有上传文件(非目录)的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
      anon_mkdir_write_enable=yes #如果设为YES,则允许匿名登入者有新增目录的权限,只有在write_enable=YES时,此项才有效。当然,匿名用户必须要有对上层目录的写入权。默认值为NO。
      anon_other_write_enable=no #如 果设为YES,则允许匿名登入者更多于上传或者建立目录之外的权限,譬如删除或者重命名。(如果anon_upload_enable=NO,则匿名用户 不能上传文件,但可以删除或者重命名已经存在的文件;如果anon_mkdir_write_enable=NO,则匿名用户不能上传或者新建文件夹,但 可以删除或者重命名已经存在的文件夹。)默认值为NO。
      anon_world_readable_only=no #如果设为YES,则允许匿名登入者下载可阅读的档案(可以下载到本机阅读,不能直接在FTP服务器中打开阅读)。默认值为YES。
      user_config_dir=/etc/vsftpd/user_config_dir #设置用户配置文件所在的目录。当设置了该配置项后,用户登陆服务器后,系统就会到/etc/vsftpd/ user_config_dir目录下,读取与当前用户名相同的文件,并根据文件中的配置命令,对当前用户进行更进一步的配置。
      local_enable=yes #允许本地用户登陆
      local_umask=026 #本地用户新增档案时的umask 值。默认值为026
      chroot_list_enable=no #设置是否启用chroot_list_file配置项指定的用户列表文件。默认值为NO。
      chroot_local_user=yes #用于指定用户列表文件中的用户是否允许切换到上级目录。默认值为NO。
      chroot_list_file=/etc/vsftpd/chroot_list #用于指定用户列表文件,该文件用于控制哪些用户可以切换到用户家目录的上级目录。
      userlist_enable=yes #是否启用chroot_list文件。
      userlist_deny=yes #决定chroot_list文件中的用户是否能够访问FTP服务器。若设置为YES,则chroot_list文件中的用户不允许访问FTP,若设置为NO,则只有chroot_list文件中的用户才能访问FTP。
      userlist_file=/etc/vsftpd/user_list #控制用户访问FTP的文件,里面写着用户名称。一个用户名称一行。
    4. 编辑控制文件/etc/vsftpd/chroot_list,添加用户fayero、clinux。
    5. 编辑用户文件/etc/vsftpd/user_list,添加用户root。
    6. 创建/etc/vsftpd/user_config_dir目录:
      mkdir /etc/vsftpd/user_config_dir
    7. 在/etc/vsftpd/user_config_dir目录下添加一个文件名为clinux,文件内容为write_enable=no
    8. 创建fayero和clinux用户,并添加密码。
    9. 重启服务
      service vsftpd restart
      即可使用用户名密码访问FTP服务器。

    配置虚拟用户

    1. 在/etc/vsftp目录下创建登陆用户文件loguser.txt,内容如下:
      tom#用户名
      123#密码
    2. 创建有关账号的数据库文件,并配置权限:
      db_load -T -t hash -f /etc/vsftpd/loguser.txt /etc/vsftpd/loguser.db
      chmod 600 /etc/vsftpd/loguser.db
    3. 配置PAM文件,修改/etc/pam.d/vsftpd内容为:
      auth required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
      account required /lib/security/pam_userdb.so db=/etc/vsftpd/loguser
    4. 为虚拟用户创建本地系统用户
      useradd virtual
    5. 编辑/etc/vsftpd/vsftpd.conf文件,添加以下内容
      guest_enable=yes
      guest_username=virtual
      virtual_use_local_privs=yes
    6. 重启vsftpd服务,即可使用虚拟用户进行登陆。

  • 相关阅读:
    软件测试(理论基础)
    Android NDK常见配置问题的解决方案
    Eclemma各种安装方式以及安装失败解决
    检测Buffer Overflow的几种方法
    转: 跟我一起写 Makefile
    流敏感、路径敏感、上下文敏感
    Symbolic Exectuion with Mixed ConcreteSymbolic Solving
    基于ajc的代码编织
    第一次个人编程作业
    第一次博客作业
  • 原文地址:https://www.cnblogs.com/gerrydeng/p/7170739.html
Copyright © 2011-2022 走看看