ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

# centos7 创建 sftp 用户 并指定访问特定权限的特定目录

2020-03-04 13:45:35  阅读:299  来源: 互联网

标签:user2 user1 sftp centos7 特定 home 权限 目录


centos7 创建 sftp 用户 并指定访问特定目录

  1. 场景模拟:

    user1用户:
    对/home/sftp/user1/files 目录有读写权限,并只能通过sftp登录服务器,不可以ssh登录, 且只能在user1目录下操作

    user2用户:
    对/home/sftp/user2/files 目录有读写权限,并只能通过sftp登录服务器,不可以ssh登录,且只能在user2目录下操作

    user2-r用户:
    对/home/sftp/user2/files 目录只有只读(下载)权限,并只能通过sftp登录服务器,不可以ssh登录,且只能在user2目录下操做

  2. 创建sftpuser组,新增sftp登录用户user1、user2、user2-r,限制用户不可以ssh登录服务器

    # groupadd sftpuser 
    # user1dd -g sftpuser -s /bin/false user1 &&  echo "user1@123"|passwd user1 --stdin
    # user1dd -g sftpuser -s /bin/false user2 && echo "user2@123"|passwd user2 --stdin
    # user1dd -g sftpuser -s /bin/false user2-r  && echo "user2-r@123"|passwd user2-r --stdin
    
  3. 创建两个用户的登录目录,并设定目录权限

    mkdir -p /home/sftp/{user1,user2}/files
    # chown root:root /home/sftp/
    # chown root:sftpuser /home/sftp/{user1,user2}/
    # chown user1:sftpuser /home/sftp/user1/files
    # chown user2:sftpuser /home/sftp/user2/files
    # chmod 755 /home/sftp/{user1,user2}
    
  4. 修改配置文件sshd_config,指定不同用户登录不同目录

    # vi /etc/ssh/sshd_config
    
  5. 修改sshd_config文件,指定不同用户登录不同目录

    # vi /etc/ssh/sshd_config
    注释掉下面一行
    #Subsystem sftp /usr/libexec/openssh/sftp-server
    添加以下内容
    Subsystem    sftp    internal-sftp
    Match User user2-r
        ChrootDirectory /home/sftp/user2
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    Match Group sftpuser
        ChrootDirectory /home/sftp/%u
        ForceCommand internal-sftp
        AllowTcpForwarding no
        X11Forwarding no
    
  6. 目录权限设置要点: ChrootDirectory参数指定的目录,其权限及其所有的上级文件夹权限,属主必须是root,且只有属主能拥有写权限,即权限最大设置只能是755。上面之所以要创建files目录,是因为无论user1还是user2对自己的登录目录user1和user2都只有只读权限,而通过上面第3步的权限设置,我们可以让这两个用户对自己目录下的files拥有读写权限,而使得user2-r对files目录只有只读权限,从而达到不同用户拥有不同的权限设定需求。 上面配置中,user2-r的配置必须在sftpuser组配置之前,以后添加新的用户也是如此,否则会因为参数“/home/sftp/%u”优先匹配/home/sftp/user2-r目录,而实际中user2-r目录是不存在,造成登录失败。

  7. 重启sshd服务:

     #service sshd restart
     #systemctl restart sshd
    

标签:user2,user1,sftp,centos7,特定,home,权限,目录
来源: https://blog.csdn.net/jesse919/article/details/104651745

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有