• Centos6.*安装vsftpd


    • 检查VSFTP是否安装

        #rpm -qa | grep vsftpd

        vsftpd-2.2.2-24.el6.x86_64

        有打印说明已安装,反之说明没有安装

    • 安装vsftpd

        yum install -y vsftpd

        根据提示输入y安装完成

    • 设置ftp根目录

        在/home/fptroot下面新建ftp根目录 mkdir /home/ftproot

    • 测试用户ftptest

        为防止账户已存在,先删除测试账号userdel ftptest

        adduser -d /home/ftproot/ftptest -g ftp -s /sbin/nologin ftptest 

        #// -s /sbin/nologin表示让其不能登陆系统,-d指定用户目录为/home/ftptest,也就是默认访问的目录

    • 设置密码

        passwd ftptest 回车

        根据提示输入密码,具体如下:

         更改用户 ftptest 的密码 。

         新的 密码:
         无效的密码: 过于简单化/系统化
         无效的密码: 过于简单
         重新输入新的 密码:
         passwd: 所有的身份验证令牌已经成功更新。

    • 禁用匿名访问

        anonymous_enable=no

    • 启动ftp服务

        service vsftpd start

        ftp测试工具测试

        500 OOPS: cannot change directory:/home/xxx

        解决办法:

          setsebool  ftp_home_dir  on

    • 修改ftp配置

        阻止用户访问上层目录

          vi  /etc/vsftp/vsftp.conf

          #解除注释,设置为YES默认就不能访问上层目录

          chroot_local_user=YES

          备注:当chroot_local_user=YES 时,chroot_list_file文件中写入的用户(一个一行)表示拥有切换(根路径)上级目录的权限,没写进去的用户则不具备切换(根路径)上层目录的权限;反之,当chroot_local_user=NO(默认) 时,所有用户默认都可以访问用户目录的上层路径,只有写入到chroot_list_file文件中的用户(一个一行)才禁止切换到上层路径。

          心得:上面的这个两种情况设定总是不好记,每次理解的都不是很透彻总是忘了。可以这么理解:chroot_local_user是总开关,可以是YES(禁止)本地账户切换上层目录,或者NO(默认,允许)本地账户切换上层目录。但凡事总有例外吧,那么这个chroot_list_file 就是设定例外情况的。也就是与chroot_local_user 设定的含义相反

        用户权限

          在vsftpd 2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报如下错误:

          C:Usersliuheng.klh>ftp 192.168.125.132

          连接到 192.168.125.132。

          220 Welcome to Victo's FTP service.

          用户(47.88.58.168:(none)): ftpuser
          331 Please specify the password.
          密码:
          500 OOPS: vsftpd: refusing to run with writable root inside chroot()
          500 OOPS: priv_sock_get_cmd
          远程主机关闭连接。

          解决办法
            
    需要做两步设定:

           <1> 在配置文件 /etc/vsftpd.conf 文件末尾添加一行: allow_writeable_chroot=YES
           <2> 注意新增用户的主目录要有写入权限(直接更改目录所属关系就可以): chown ftpuser:ftp /home/ftpuser 
    • 重启vsftp服务

        service vsftpd restart

    • 设置ftp端口

        listen_port=7179

    • 主动模式
       vi /etc/vsftpd/vsftpd.conf
       Port_enable=YES               开启主动模式
        Connect_from_port_20=YES      当主动模式开启的时候 是否启用默认的20端口监听
       Ftp_date_port=%portnumber%    上一选项使用NO参数是 指定数据传输端口
    • 被动模式

        vi /etc/vsftpd/vsftpd.conf

        PASV_enable=YES 开启被动模式

         PASV_min_port=11001 被动模式最低端口

         PASV_max_port=11021 被动模式最高端口

         pasv_promiscuous=YES 允许目录访问

    • 被动模式防火墙设置 

        iptables中开放这段端口 

        service iptables start 打开防火墙 

        iptables -I INPUT  -p tcp  --dport 11001:11021  -j ACCEPT 

        iptables -A INPUT -p tcp -m tcp --dport 21 -j ACCEPT

        

  • 相关阅读:
    C# 图片存入SQL Server数据库
    C#如何将Build成功的程序集Copy到上一层目录
    JavaScript中JSON字符串和JSON对象相互转化
    如何将C#对象转化为JSON字符串
    SQL的常用语句
    NHibernate的使用
    如何配置Spring的XML文件及使用
    TRIGGER的使用(修改SP自动触发)
    iOS UIButton上下排列(上图下文)
    将.c .h文件打包成静态库 .a .so
  • 原文地址:https://www.cnblogs.com/oumi/p/10931409.html
Copyright © 2020-2023  润新知