• sftp 多用户,多目录不同权限设置


    #!/bin/bash

    ##创建用户,-g 用户组; -d 指定家目录; -s 不登陆; -M 不创建家目录

    useradd u_zyjr -d/data/u_zyjr -s /sbin/nologin

    useradd u_jtsw -d/data/u_jtsw -s /sbin/nologin

    useradd u_dyls -d/data/u_dyls -s /sbin/nologin

    ##创建总账户,可以查看其它用户目录

    useradd u_boc -d/data/u_boc -s /sbin/nologin

    ##创建各用户家目录目

    mkdir -p /data/{u_zyjr,u_jtsw,u_dyls}

    sleep 2

    ##创建各用户的家目录下上传下载目录

    mkdir -p/data/u_zyjr/{upload,download}

    mkdir -p/data/u_jtsw/{upload,download}

    mkdir -p/data/u_dyls/{upload,download}

    ##设置用户私人目录的所属人

    chown -R u_zyjr:u_zyjr/data/u_zyjr/*

    chown -R u_jtsw:u_jtsw/data/u_jtsw/*

    chown -R u_dyls:u_dyls/data/u_dyls/*

    #设置其它非组成员不可访问,770

    chmod -R 770/data/u_zyjr/*

    chmod -R 770/data/u_jtsw/*

    chmod -R 770/data/u_dyls/*

    ##把用户u_boc添加到上述用户组,以便可以访问其所有目录。

    usermod -G u_zyjr,u_jtsw,u_dylsc u_boc

    ##分别给用户创建密码

    passwd u_zyjr

    passwd u_jtsw

    passwd u_dylsc

    passwd u_boc

    ##配置文件/etc/ssh/sshd_config更改及添加如下

     #Subsystem sftp /usr/lib/openssh/sftp-server   注释掉

    Subsystem       sftp    internal-sftp

    #Match Group u_boc   ---这里都可以更改为Group 组控制

    Match u u_boc

    ChrootDirectory /data     

    Match User u_zyjr

    ChrootDirectory /data/u_zyjr

    Match User u_jtsw

    ChrootDirectory /data/u_jtsw

    Match User  u_dyls

    ChrootDirectory /data/u_dyls

    X11Forwarding no

    AllowTcpForwarding no

    ForceCommand internal-sftp

    ###注意事项

    Match Group sftp                         # 这一行是指定以下的子行配置是匹配 sftp 用户组的。Match user userA,userB 则是匹配用户。
    ChrootDirectory /data/sftp/%u     # 设定属于用户组 sftp 的用户访问的根文件夹。%h 代表用户 home 目录,%u 代表用户名。
    ForceCommand internal-sftp      # 该行强制执行内部 sftp,并忽略任何 ~/.ssh/rc 文件中的命令。
    AllowTcpForwarding no              # 是否允许 TCP 转发,默认值为 "yes", 禁止 TCP 转发并不能增强安全性,除非禁止了用户对 shell 的访问,因为用户可以安装他们自己的转发器。
    X11Forwarding no                      # 是否允许进行 X11 转发。默认值是 "no",设为 "yes" 表示允许。如果允许 X11 转发并且 sshd(8)代理的显示区被配置为在含有通配符的地址(X11UseLocalhost)上监听。那么将可能有额外的信息被泄漏。由于使用 X11 转发的可能带来的风险,此指令默认值为"no"。需要注意的是,禁止 X11 转发并不能禁止用户转发 X11 通信,因为用户可以安装他们自己的转发器。


    ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,属主和属组必须是 root;
    ChrootDirectory 设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,权限最大设置只能是 755。

    ####测试

    1)linux 命令测试

     2)

    使用windows客户端winscp测试:c 登陆后以下图所示,登陆后的目录定位到了指定的目录

  • 相关阅读:
    C 语言定义
    一次系统磁盘异常使用100%的处理
    supervisord 安装、配置体验
    uva 211(dfs)
    poj1651
    有一种感动叫ACM(记WJMZBMR在成都赛区开幕式上的讲话)
    nyoj-746
    Codeforces Round #308 (Div. 2)----C. Vanya and Scales
    long long 与 _int64
    石子归并问题(nyoj737)
  • 原文地址:https://www.cnblogs.com/wuchangsoft/p/16050285.html
Copyright © 2020-2023  润新知