• ftp多用户多目录配置


    ftp多用户多目录配置

    1、防火墙配置

    systemctl stop firewalld.service #停止firewall(防火墙)
    systemctl disable firewalld.service #禁止firewall开机启动
    #修改SELINUX,否则ftp用户无新建文件权限
    vi /etc/sysconfig/selinux
    SELINUX=disabled
    然后执行:setenforce 0
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6

    2、安装ftp

    yum install vsftpd

    3、增加用户

    useradd test1
    passwd test1
    mkdir -p /ftpdata/test1ftp
    chown -R test1.root /ftpdata/test1ftp(ftp主目录用于存放文件根据自己喜好自定义)
    chmod -R 777 /ftpdata/test1ftp(给文件目录授予权限)

    4、修改配置文件 /etc/vsftpd/vsftpd.conf

    anonymous_enable=NO
    #local_enable=YES         #设置是否允许本地用户登录  上面有
    #write_enable=YES         #是否允许用户有写权限     上面有
    #local_umask=022          #设置本地用户创建文件时的umask值 
    #dirmessage_enable=YES
    #xferlog_enable=YES
    #connect_from_port_20=YES
    #xferlog_std_format=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    #锁定用户到各自的根目录
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    listen=YES
    listen_port=21        #端口号自己定义
    listen_ipv6=NO
    pam_service_name=vsftpd
    #local_root=/ftpdata/ #用户路径
    user_config_dir=/etc/vsftpd/userconfig #用户根目录配置文件
    allow_writeable_chroot=YES
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18
    • 19
    • 20
    • 21

    chroot_local_user=YES
    chroot_list_enable=YES(这行可以没有, 也可以有)
    chroot_list_file=/etc/vsftpd.chroot_list

    那么, 凡是加在文件vsftpd.chroot_list中的用户都可以切换到其他目录。
    所以如果想限制用户只能访问自己的根目录,则需要以下几步:
    1)chroot_local_user=YES,chroot_list清空用户名。
    2)/etc/vsftpd/userconfig下以用户名为名建立文件,vim test1,内容为
    设置的根目录

    local_root=/ftpdata/test1ftp/
    
    • 1

    3) usermod -d /ftpdata/test1ftp -u 1002 test1
    修改 /etc/passwd内的用户根目录。
    至此,ftp用户登录后限制到自己的根目录。
    4)重启vsftpd.service
    systemctl restart vsftpd.service
    截图如下。
    否则ftp用户根目录默认为/home/test1
    在这里插入图片描述
    配置了user_config_dir就不用再配置local_root,否则连接不上。

  • 相关阅读:
    linux驱动开发:IO模型
    【深度学习】python调用超分Real-ESRGAN
    tensorrt deeplabv3+ 部署踩坑
    [Rust学习:四] Vec和栈
    【MySQL】多表查询
    【历史上的今天】9 月 19 日:世界上第一个表情符号;微软发布 Virtual PC;苹果 UI 扁平化的开始
    第5章 uin-app本地主机数据跨域(Cors)数据交互实现
    论文主要要点记录《Rethinking BiSeNet For Real-time Semantic Segmentation》
    使用platformio+arduino开发自定义板子STM32G070
    Spring实战之Bean的主要装配机制之一-通过Java代码显示装配bean
  • 原文地址:https://blog.csdn.net/lz20120808/article/details/126001281