精华内容
下载资源
问答
  • sftp权限设置
    2021-05-10 09:31:45

    众所周知SFTP账号是基于SSH账号的,所以在默认情况下访问服务器的权限是非常大的。下面为SFTP用户权限设置方法。

    必要条件:

    你的openssh-server版本至少得失4.8p1, 因为配置权限需要版本添加的新配置项ChrootDirectory来完成。

    如何查看自己服务器上的ssh版本?大家可以尝试以下命令:

    $ ssh -V

    具体实施步骤:

    1. 我们需要创建一个用户组,专门用于sftp用户

    $ groupadd sftpusers

    2. 我们创建一个用户test

    $ useradd -s /bin/false -G sftpuser test

    注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限

    3. 编辑 /etc/ssh/sshd_config

    找到Subsystem这个配置项,将其修改为

    Subsystem sftp internal-sftp

    然后再到文件最尾处增加配置设定属于用户组sftpusers的用户都只能访问他们自己的home文件夹

    Match Group sftpusers

    ChrootDirectory %h

    ForceCommand internal-sftp

    AllowTcpForwarding no

    保存并关闭文件

    4. 修改test用户home文件夹的权限,让其属于root用户

    chown root ~test

    5. 重启sshd服务

    $ service sshd restart

    6. 测试用户账号

    $ ssh test@localhost

    连接会被拒绝或者无法登陆

    $ sftp tesst@localhost

    登陆后你会发现你的账号无法切换到除自己home目录之外的地方的

    常见问题:

    如果你链接服务器的时候出现下面的提示:

    Write failed: Broken pipe

    Couldn't read packet: Connection reset by peer

    这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755。

    取消

    评论

    更多相关内容
  • 基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。 1、开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器 2、限定用户的活动目录,使...
  • SFTP账号是基于SSH账号的,其拥有的权限是比较大的,今天主要教大家如何进行SFTP用户权限设置,感兴趣的你可不要错过了哈,希望本文知识可以帮助到你
  • Sftp权限设置

    千次阅读 2016-01-07 09:37:12
    根据相关需求开通Sftp权限,一般用户无法切换到其他目录,并且无法ssh登陆到该Linux主机上。 设置如下: SSH版本要求为4.8p1以上。 查看ssh 版本命令如下:ssh -V1,建立一个专用的sftp用户组,groupadd sftpusers...

    根据相关需求开通Sftp权限,一般用户无法切换到其他目录,并且无法ssh登陆到该Linux主机上。
    设置如下:
    SSH版本要求为4.8p1以上。
    查看ssh 版本命令如下:

    ssh -V

    1,建立一个专用的sftp用户组,

    groupadd sftpusers

    2,添加一个账户

    useradd -s /bin/false -G sftpusers admin

    3,添加口令

    passwd admin

    4,编辑/etc/ssh/sshd_config 更为为如下:

    Subsystem sftp internal-sftp 

    添加如下配置

    Match Group sftpusers
    ChrootDirectory /home
    ForceCommand internal-sftp
    AllowTcpForwarding no 

    5,设置权限

    chmod -R 775 /home/admin

    6, ssh 登陆测试
    输入密码后提示无法登陆,如下

    Connection closed by foreign host.
    
    Disconnected from remote host(192.168.8.185:22) at 18:51:55.

    7,测试sftp
    登陆后显示/admin 不能切换到其他目录。
    这里写图片描述

    注意:
    目录权限设置
    ChrootDirectory设置的目录权限及其所有的上级文件夹权限,属主和属组必须是root;
    ChrootDirectory设置的目录权限及其所有的上级文件夹权限,只有属主能拥有写权限,也就是说权限最大设置只能是755
    ChrootDirectory %h 如果选择了这种模式,用户的home目录必须是root:root 权限,否则就会报错。
    以上转自(http://www.2cto.com/os/201311/255034.html)

    展开全文
  • sftp多用户权限配置

    千次阅读 2022-04-15 16:33:09
    设置相关用户,用户组,ssh配置文件 mkdir -pv /data/sftp/{admin,userA,userB} groupadd sftpadmins groupadd sftpusers useradd -g sftpadmins -s /sbin/nologin -d /data/sftp/ admin passwd admin mkdir /...

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

    mkdir -pv /data/sftp/{admin,userA,userB}
    groupadd sftpadmins
    groupadd sftpusers
    
    useradd -g sftpadmins -s /sbin/nologin -d /data/sftp/ admin
    passwd admin
    
    mkdir /data/sftp/userA
    useradd -g sftpusers -s /sbin/nologin -d /data/sftp/userA userA
    passwd userA
    
    mkdir /data/sftp/userB
    useradd -g sftpusers -s /sbin/nologin -d /data/sftp/userB userB
    passwd userB
    
    $ vim /etc/ssh/sshd_config
    
    Subsystem sftp internal-sftp
    Match Group sftpadmins,sftpusers
    ChrootDirectory %h
    ForceCommand internal-sftp
    AllowTcpForwarding no
    X11Forwarding no
    

    说明1: ChrootDirectory %h ,表示用户通过sftp登录后就把根目录切换到它自己的家目录
    说明2: 以上为经过修改的配置

    二. 设置权限
    三个用户先测试登录成功,但因为目录都是root用户的,所以没有写入权限
    接下来修改用户权限如下

    [root]# ll -d /data/sftp
    drwxr-xr-x 5 root root 4096 511 10:59 /data/sftp
    

    说明:用户的家目录属主必须是root,且权限最高755

    [root]# cd sftp/
    [root]# lldrwxrwx--- 2 admin  sftpadmins 4096 5月  12 15:10 admindr-xrwx--- 2 userA sftpadmins 4096 5月  12 12:15 userAdr-xrwx--- 2 userB sftpadmins 4096 5月  12 15:11 userB
    
    chown admin:sftpadmins admin
    chown userB:sftpadmins userB
    chown userA:sftpadmins userA
    chmod 770 admin
    chmod 570 userB
    chmod 570 userA
    sftp目录结构 /data/sftp/{admin,userA,userB},
    

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

    展开全文
  • linux配置sftp权限设置

    千次阅读 2021-05-10 20:02:05
    前言1:应用场景:对于数据量很大的交互,对接方不愿意通过...从sftp服务器上获取数据文件*:也需要开设一个sftp账号,权限设置视情况而定。前言2:服务器版本为Centos6.5, 采用系统自带的internal-sftp, 限制用...

    前言1:应用场景:对于数据量很大的交互,对接方不愿意通过接口方式对接式可采用ftp的方式数据交互。

    A——>上传数据文件到sftp服务器

    *:需要给A开设一个只用于sftp上传的账号,并且只能在指定目录下活动。

    B——>从sftp服务器上获取数据文件

    *:也需要开设一个sftp账号,权限设置视情况而定。

    前言2:服务器版本为Centos6.5, 采用系统自带的internal-sftp, 限制用户只能在自己的目录下活动,这里需要使用到chroot,openssh 4.8p1以后都支持chroot,我现在用的是CentOS 6.5,自带的openssh已经是5.3p1,足够了。

    1、 查看 openssh的版本,如果低于4.8p1,需要自行升级安装

    #    ssh -V

    2、 创建sftp组

    #    groupadd sftp

    3、 创建一个sftp用户,名为guest

    #    useradd -g sftp -s /bin/false guest

    *: /bin/false  表示不能通过ssh的方式登录

    4、设置密码

    #     passwd  guest

    *:输入两次密码,回车即可。也可通过此命令修改已有的账号密码。

    5、创建用户活动的根目录

    #     mkdir -p /5108/sftp

    #     usermod -d /5108/sftp guest

    6、配置sshd_config

    #     vi /etc/ssh/sshd_config

    找到如下这行,并注释掉

    Subsystem      sftp    /usr/libexec/openssh/sftp-server

    添加如下几行:

    Subsystem       sftp    internal-sftp  # 指定使用sftp服务使用系统自带的internal-sftp

    Match Group sftp   # 匹配sftp组的用户,如果要匹配多个组,多个组之间用逗号分割

    ChrootDirectory /5108/sftp/ # 用chroot将用户的根目录指定到 /5108/sftp/, 可设为"/",代表根目录。

    ForceCommand    internal-sftp  # 指定sftp命令

    AllowTcpForwarding no  # 允许用户能使用端口转发

    X11Forwarding no # 允许用户能使用端口转发

    :wq保存并退出

    7、 设定Chroot目录权限

    #     chown root:sftp /5108/sftp

    #     chmod 755 /5108/sftp

    *:权限必须为755

    8、 建立SFTP用户登入后可写入的目录

    照上面设置后,在重启sshd服务后,用户 guest 已经可以登录,但使用chroot指定根目录后,根应该是无法写入的,所以要新建一个目录供 guest 上传文件。这个目录所有者为 guest,所有组为sftp,所有者有写入权限,而所有组无写入权限

    #    mkdir /5108/sftp/ABH

    #    chown guest:sftp /5108/sftp/ABH

    #    chmod 755 /5108/sftp/ABH

    *: 权限可设置为777,代表组的所有用户都拥有所有权限。

    9、 修改/etc/selinux/config文件中的SELINUX="" 为 disabled或者

    #    setenforce 0

    10、 重启sshd服务

    #     service sshd restart

    测试ssh能否登录:

    测试sftp能否登录:

    sftp guest@127.0.0.1

    到此,我们已经把A的账号建立好了,并已经设置了相应的权限。下面再配置B,也就是我们系统下载文件的账号。

    #     useradd -g sftp -s /bin/false  consftp

    #     passwd  consftp

    设置账号后,就能通过sftp的方式登录了,再配置下路径:

    #    usermod -d /5108/sftp/ABH consftp

    补充:

    groupdel命令:删除组

    groupdel 命令用于删除不再需要的组,如果指定的组中包含用户,则必须先删除组里面的用户>以后,才能删除组。

    #     sudo groupdel test

    vipw :

    -g, --group                  编辑 group 数据库

    -h, --help                    显示此帮助信息并推出

    -p, --passwd                  编辑 passwd 数据库

    -q, --quiet                  安静模式

    -R, --root CHROOT_DIR        chroot 到的目录

    -s, --shadow                  编辑 shadow 或 gshadow 数据库

    问题:

    Write failed: Broken pipe

    Couldn't read packet: Connection reset by peer

    这个问题的原因是ChrootDirectory的权限问题,你设定的目录必须是root用户所有,否则就会出现问题。所以请确保sftp用户根目录的所有人是root, 权限是 750 或者 755

    关键是ChrootDirectory /5108/sftp/%u 目录的配置,可更改目录为"/"试试

    后续:

    第一次在设置第二个账号的时候,重复创建了目录,设置了权限,所以导致第一个账号也连接不上。折腾了很久,在此记录下,引以为戒,以后配置方面的东西,一定要先看懂,了解流程。切记切记......

    展开全文
  • 在工作或者学习的时候,我们常常会遇到这样的需求,限制一个Linux用户,让他只能在指定的目录下进行添加、修改、删除操作,并且只能使用sftp登录服务器,不能用ssh操作。这些可以通过配置sftp服务实现。 方法如下 ...
  • Centos下配置ssh以及Vsftp
  • SFTP】多个用户SFTP设置不同权限

    千次阅读 2021-11-04 10:26:14
    背景:之前搭建SFTP多用户都是同属一个用户组,所有用户都可以进行读写操作,需要将各个用户权限调整,遂度娘一波,没有明显匹配的文档,自己综合整理记录。 实现目的 如下图所示,用户组G1的用户可读写目录1,目录2...
  • 一、最近接到一个项目组的需求搭建文件服务器,需求如下1、用户:amovs、upload、download2、组:amovs、dataload、download3、具体需求是upload和download的家目录都为同一...所以对于dataload目录权限需要读、写权...
  • 我们创建一个用户test$ useradd -s /bin/false -G sftpuser test注意这里我们将test用户的shell设置为/bin/false使他没有登陆shell的权限3. 编辑 /etc/ssh/sshd_config找到Subsystem这个配置项,将其修改...
  • SFTP权限问题

    千次阅读 2020-11-25 14:35:59
    1、权限问题: 1.1、重要: r、w、x权限对文件和目录的意义: 补充: (1)w(目录):可以创建或删除目录中任意一个空目录。如果被删除的目录不 是空目录且该目录没有w权限,则该目录无法被删除。 (2)建议...
  • 导读基于 ssh 的 sftp 服务相比 ftp 有更好的安全性(非明文帐号密码传输)和方便的权限管理(限制用户的活动目录)。1、开通 sftp 帐号,使用户只能 sftp 操作文件, 而不能 ssh 到服务器2、限定用户的活动目录,使用户...
  • sftp用户权限设置

    千次阅读 2019-10-05 19:04:15
    对于服务器文件上传, 我们会创建sftp用户登陆服务器,禁止ssh... 现在对外提供test用户,sftp访问服务器;创建过程如下: 1. 建立sftp用户 test useradd test, 此时会在创建sftp用户目录/home/test  chown -R...
  • SFTP多用户权限配置

    千次阅读 2021-09-06 08:35:36
    SFTP多用户权限配置新增用户组及用户配置sshd_config测试:用户只能sftp登录,不能ssh修改用户权限测试:admin用户功能测试:user2用户功能其他 新增用户组及用户 进入root用户权限下进行操作 mkdir -pv /opt/ftp...
  • Linux下如何进行SFTP用户权限设置.docx
  • Linux 配置SFTP设置用户访问权限

    千次阅读 2020-05-15 20:52:10
    最近在练习Linux相关配置用到 给sftp 连接用户设置访问目录的权限问题,查看了好多的资料博客,鸟哥Linux私房菜也找了相关文章来看如何解决,都没有好的解决方案,突然找到了以下这边文章,尝试的这大神的方法一步...
  • sftp账号创建和权限设置

    千次阅读 2020-01-17 16:50:14
    创建sftpusers用户组,专门用于sftp用户 groupadd sftpusers 创建test用户,将test用户的shell设置为/sbin/nologin禁止ssh登陆,且不创建用户家目录 useradd -g sftpusers -s /sbin/nologin -M test 设置用户密码 ...
  • 东坡小编这里给大家分享的是Linux设置用户通过SFTP访问目录的权限教程,对linux sftp 用户权限设置可以参考下。sftp和ftp是两种协议是不同的,sftp是ssh内含的协议,只要sshd服务器启动了,它就可用,它本身不需要ftp...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 16,579
精华内容 6,631
关键字:

sftp权限设置