• 搭建sftp并设置不同权限的多个用户


    一, 设置相关用户,用户组,ssh配置文件

    mkdir -pv /opt/ftpsite/{admin,user1,user2}
    groupadd sftpadmins
    groupadd sftpusers
    
    useradd -g sftpadmins -s /sbin/nologin -d /opt/ftpsite/ admin
    passwd admin
    123456
    
    useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user1
    passwd user1
    111111
    
    useradd -g sftpusers -s /sbin/nologin -d /opt/ftpsite/ user2
    passwd user2
    222222
    
    [注意:不要使用 echo "PASSWORD" | passwd --stdin USERNAME 这种方式设定密码,经测试有bug]
    
    
    vim /etc/ssh/sshd_config
    Port 35021
    Subsystem sftp internal-sftp
    Match Group sftpadmins,sftpusers
        ChrootDirectory %h
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
    
    说明1: ChrootDirectory %h ,表示用户通过sftp登录后就把根目录切换到它自己的家目录
    说明2: 以上为经过修改的配置
    
    sftp -oPort=35021 admin@192.168.56.23
    输入密码进行登录
    

      

    二. 设置权限


    三个用户先测试登录成功,但因为目录都是root用户的,所以没有写入权限

    接下来修改用户权限如下
    [root]# ll -d /opt/ftpsite
    drwxr-xr-x 5 root root 4096 5月  11 10:59 /opt/ftpsite
    说明:用户的家目录属主必须是root,且权限最高755
    
    [root]# cd ftpsite/
    [root]# ll
    drwxrwx--- 2 admin  sftpadmins 4096 5月  12 15:10 admin
    dr-xrwx--- 2 user1 sftpadmins 4096 5月  12 12:15 user1
    dr-xrwx--- 2 user2 sftpadmins 4096 5月  12 15:11 user2
    

      

    sftp目录结构 /opt/ftpsite/{admin,user1,user2},

    注意目录admin, user1, user2的所属和权限设置,非常重要!!!

    三. 测试

    用户名: admin   密码: 123456
    sftp -oPort=35021 admin@192.168.56.23
    可以在{admin,user1,user2}目录读写

    用户名: user1    密码: 111111
    sftp -oPort=35021 user1@192.168.56.23
    可以列出所有目录,但只能进入bmcoop1目录读取,其他目录拒绝查看/进入

    用户名: user2    密码: 222222
    sftp -oPort=35021 user2@192.168.56.23
    可以列出所有目录,但只能进入bmcoop2目录读取,其他目录拒绝查看/进入

    使用FileZilla连接时,格式如下
    主机: sftp://192.168.56.23
    用户名: user2
    密码:  222222
    端口: 35021

  • 相关阅读:
    influxdb服务器 relay
    browse-agent type and curl post
    使用 Ansible 管理 MySQL 复制
    ansible里的item和with_items
    Ansible 从MySQL数据库添加或删除用户
    ansibel---tag模块
    ll | wc -l的陷阱
    ansible 判断和循环
    Ansible详解(二)
    Ansible详解(一)
  • 原文地址:https://www.cnblogs.com/regit/p/8489204.html
Copyright © 2020-2023  润新知