当前位置 主页 > 站长资源大全 > IIS7 FTP大全 >

    CentOS7部署vsFTP服务的办法

    栏目:IIS7 FTP大全 时间:2019-07-16 09:23

      CentOS7部署vsFTP服务具体操作如下:
      首先创建好用户,并限定用户在自己的目录:
      1、检查自己是否已经安装了vsftpd
      vsftpd -version
      2、若没有就安装vsftpd(CentOS7)
      yum install -y vsftpd
      3、然后创建FTP,目录如下:
      /data/KodServer/data/User/tomas/home
      4、建立新用户
      ftpname是创建的新用户名,/data/KodServer/data/User/tomas/home是登录进去后的位置
      useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname
      5、把新建的用户进行密码设置:
      passwd ftpname
      6、主目录的设置:(更改登录时看到的目录,看个人需要更改,如果第4步已设置好,此步可忽略)
      usermod -d /data/KodServer/data/User/tomas/home ftpname
      7、用户组的添加:(这步可忽略)
      groupadd ftpgroup
      8、把FTP服务进行防火墙添加
      firewall-cmd --permanent --zone=public --add-service=ftp
      firewall-cmd --reload
      解决办法:
      ①、检查ftp的Selinux状态:sestatus -b | grep ftp
      ②、可以看到结果为: ftp_home_dir  off
      ③、将状态改为on:setsebool -P  ftp_home_dir  on
      ④、重启vsftp服务:systemctl restart vsftpd.service
      setsebool -P ftpd_full_access on
      systemctl restart firewalld.service
      9、配置只能访问自身目录(/data/KodServer/data/User/tomas/home),不能访问其他路径
      修改/etc/vsftpd.conf
      cd /etc/vsftpd/
      vi vsftpd.conf
      #去掉前面的注释
      chroot_local_user=YES
      ascii_upload_enable=YES
      ascii_download_enable=YES
      #文件末尾添加
      allow_writeable_chroot=YES
      保存,重启vsftpd
      设置开机启动:
      systemctl enable vsftpd.service
      启动vsftpd服务
      systemctl start  vsftpd.service
      不允许ftp用户通过22端口登录服务器:
      因为需要限制ftp用户在自己的目录,在21端口下没有问题,但如果ftp用户用sftp登录时,还是可以访问上级目录,所以禁止ftp用户ssh登录,切断22端口的通信。
      运行如下指令,找到nologin的shell:
      vi /etc/shells
      就能看到禁止登录的shell文件为/usr/sbin/nologin,然后执行如下命令:
      usermod -s /usr/sbin/nologin tomas
      若想恢复tomas的ssh登录,就运行如下指令:
      usermod -s /bin/bash tomas.