• centos7 配置ftp访问


    vsftp安装 创建用户 并限定用户在自己的目录

    1、查看是否已经安装了vsftpd

    vsftpd -version

    2、安装vsftpd(CentOS7

    yum install -y vsftpd

    3、新建FTP目录

    创建的FTP目录如下:

    mkdir -p /data/KodServer/data/User/tomas/home
    4、创建新用户

    ftpname为你为该ftp创建的用户名,/data/KodServer/data/User/tomas/home 为登录进去后的位置

    useradd -d /data/KodServer/data/User/tomas/home -s /bin/bash ftpname

    5、为新建的用户设置密码

    passwd ftpname

    【备注:用cat etc/passwd可以查看当前系统用户】

    6、设置主目录(更改登录时看到的目录,看个人需要更改,如果第4步已设置好,此步可忽略)

    usermod -d /data/KodServer/data/User/tomas/home ftpname

    7、添加用户组(这步可忽略)

    groupadd ftpgroup

    这里如果三root用户创建的文件夹,要把文件夹的全线给新建的用户, 否则能访问但是不能上传

    chmod ftpname:ftpgroup /data/KodServer/data/User/tomas/home

    8、防火墙添加FTP服务

    firewall-cmd --permanent --zone=public --add-service=ftp
    firewall-cmd --reload 

    解决办法:

    重启vsftpd进程报错 failed to start vsftpd ftp daemon,手动杀死 进程。
    ps auxf | grep vsftpd
    
    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
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    /etc/vsftpd/chroot_list 这个文件不存在,就要自己手动创建!!!

    保存,重启vsftpd

    设置开机启动:

    systemctl enable vsftpd.service

    启动vsftpd服务

    systemctl start  vsftpd.service

    禁止ftp用户通过22端口登录ftp服务器:

    由于需要限制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

    如果看不到文件列表,关闭 SELinux

    解决方法:关闭SELinux
    
    查看SELinux状态:/usr/sbin/sestatus -v      #如果SELinux status参数为enabled即为开启状态
    
    方法一:临时关闭(不用重启机器)
    
    setenforce 0       #设置SELinux 成为permissive模式
                               #setenforce 1 设置SELinux 成为enforcing模式
    
    
    
    方法二:修改配置文件需要重启机器
    
    修改/etc/selinux/config 文件
    
    将SELINUX=enforcing改为SELINUX=disabled
    
    重启机器即可
  • 相关阅读:
    deb 和 rpm 后缀文件 区别和安装
    20.pipe
    19.Observales
    18.4 运行脚本 sudo ./launcher.sh 必须先给他权限 才能使用
    18.3 redis 的安装
    18.2 不同用户 不同颜色光标 redis
    18.1利用socket .io 实现 editor间代码的同步
    18. socket io
    java 设计模式
    Gson 2.8.jar基础
  • 原文地址:https://www.cnblogs.com/xiaojf/p/9023222.html
Copyright © 2020-2023  润新知