zoukankan      html  css  js  c++  java
  • centosFTP服务搭建及权限配置

      引用一个其他大佬对vsftpd的描述:  

    vsftpd 是“very secure FTP daemon”的缩写,安全性是它的一个最大的特点。
    
    vsftpd 是一个 UNIX 类操作系统上运行的服务器的名字,它可以运行在诸如 Linux、BSD、Solaris、 HP-UNIX等系统上面,是一个完全免费的、开放源代码的ftp服务器软件,支持很多其他的 FTP 服务器所不支持的特征。
    
    比如:非常高的安全性需求、带宽限制、良好的可伸缩性、可创建虚拟用户、支持IPv6、速率高等。
    
    vsftpd是一款在Linux发行版中最受推崇的FTP服务器程序。特点是小巧轻快,安全易用。
    

      安装只需要一句命令就可以:

    yum install vsftpd -y
    

      

      vsftpd默认安装目录

    # which vsftpd
    /usr/sbin/vsftpd
    

      安装目录中跟配置相关的文件

    ---ftpusers     // 指定哪些用户不能访问FTP服务器

    ---user_list     // 指定是否可以访问ftp服务器的用户列表,具体是否可以访问由vsfpd.conf这种的userlist_deny决定

    ---vsftpd.conf    // 主配置文件

    ftpusers中的名单配置默认是生效的。一般ftpusers中已经定义好一些系统中重要的用户,这些用户不允许访问FTP服务器。

    vsftpd.conf是主配置之文件,其中文件底部的userlist_enable决定user_list文件是否起作用userlist_file的值指的是当userlist_enable=YES时具体起作用的user_list路径。当userlist_enable=YES开启时user_list中的用户是可以访问FTP还是不可以访问FTP由userlist_deny的值决定。如:       

      1.user_enable=YES、userlist_deny=NO表示user_list文件中的用户允许访问FTP

      2.user_enable=YES、userlist_deny=YES表示user_list文件中的用户不允许访问FTP

    至此就可以基本配置哪些用户可以连接FTP服务器,基本可以使用。

    默认情况下所有允许连接到FTP的用户登录服务器时都是可以自由切换目录甚至是切换到根目录的。如果需要限制某些用户连接FTP的时候只能限制在自己的主目录则需要配置vsftpd.conf文件中的chroot_系列参数:

    ---chroot_list_enable    //设置是否启用chroot_系列参数  YES-开启   NO-关闭

    ---chroot_local_user    //是否将用户限制在主目录中  YES-指定名单中的用户可以任意切换目录 NO-指定名单中的用户不可以任意切换目录
    ---chroot_list_file      //要限制的用户列表文件所在的路径,这个文件默认是没有的,需要自己创建

    service vsftpd start  //启动服务
    
    service vsftpd stop   //停止服务
    
    service vsftpd restart  //重启服务
    

      

    另外vsftpd配置好chroot_系列的数据后也有可能有链接不上或者其他切换不到目录的问题。这可能是因为SELinux开启了的原因。这个东西具体没有深入研究,据说是为了加强Linux系统的访问控制的。

    SELinux的配置文件在/etc/selinux/config。

    # vi /etc/selinux/config     //编辑配置
    
    
    # This file controls the state of SELinux on the system.
    # SELINUX= can take one of these three values:
    #     enforcing - SELinux security policy is enforced.
    #     permissive - SELinux prints warnings instead of enforcing.
    #     disabled - No SELinux policy is loaded.
    SELINUX=1    #selinux是否开启 1-开启 enable-开启 0-关闭 disabled-关闭
    # SELINUXTYPE= can take one of three two values:
    #     targeted - Targeted processes are protected,
    #     minimum - Modification of targeted policy. Only selected processes are protected.
    #     mls - Multi Level Security protection.
    SELINUXTYPE=targeted
    

      

    # getsebool -a| grep ftp    #查看selinux中关于ftp的配置值
    ftpd_anon_write --> off
    ftpd_connect_all_unreserved --> off
    ftpd_connect_db --> off
    ftpd_full_access --> off    #这个设置影响了ftp正常配置的启用状况
    ftpd_use_cifs --> off
    ftpd_use_fusefs --> off
    ftpd_use_nfs --> off
    ftpd_use_passive_mode --> off
    httpd_can_connect_ftp --> off
    httpd_enable_ftp_server --> off
    tftp_anon_write --> off
    tftp_home_dir --> off
    #setsebool allow_ftpd_full_access on     # 设置ftpd获取全部权限,将ftpd_full_access设置为启用

      

    关于selinux的设置,每设置一次都需要重启系统才可以生效。

    至此VSFTPD已经可以正常使用!

    相关链接:

    https://www.cnblogs.com/zhjh256/p/9155281.html

  • 相关阅读:
    数据预处理之数据可视化
    RESTful和JAX-RS
    Mac Security工具使用总结
    《Java核心技术卷一》笔记 多线程同步(底层实现)
    Java SSH库使用简介:Apache sshd和JSch(Java Secure Channel)
    maven资源文件的相关配置
    《Java核心技术卷一》笔记 多线程
    《Ant权威指南》笔记(一)
    《Java核心技术卷二》笔记(三)正则表达式
    《Java核心技术卷二》笔记(二)文件操作和内存映射文件
  • 原文地址:https://www.cnblogs.com/walterfong/p/10010469.html
Copyright © 2011-2022 走看看