Linux怎么限制指定账户不能SSH只能SFTP在指定目录

发布时间:2021-10-22 16:51:04 作者:小新
来源:亿速云 阅读:387

这篇文章给大家分享的是有关Linux怎么限制指定账户不能SSH只能SFTP在指定目录的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

概述

由于某台服务器需要对指定用户进行限制,只允许访问指定目录,这个需求在很多场景应该是比较常见的,下面介绍一种解决方案。

以下限制了sftp用户组只能sftp 连接上去至指定目录(/projects/tms_prod),ssh 连接就提示只接受sftp 连接。

方案具体流程如下:

1. 创建用户及目录:

mkdir -p /projects/ groupadd sftp # 新建组 useradd -g sftp -s /bin/false tms -d /projects/tms_prod # 新建用户 passwd tms chown root:sftp /projects/ # 修改主目录所属用户和组 chmod 755 /projects/ # 主目录授权  mkdir -p /projects/tms_prod # 为用户建立子目录 chown tms:sftp /projects/tms_prod # 修改子目录所属用户和组 chmod 755 /projects/tms_prod # 子目录授权

Linux怎么限制指定账户不能SSH只能SFTP在指定目录

2. 配置sshd_config

Subsystem sftp internal-sftp #指定使用sftp服务使用系统自带的internal-sftp #Match User tms Match Group sftp  ChrootDirectory /projects/  X11Forwarding no #禁止X11转发  AllowTcpForwarding no # 禁止tcp转发  ForceCommand internal-sftp #指定sftp命令,不能ssh连接

Linux怎么限制指定账户不能SSH只能SFTP在指定目录

注意:

3. 重启ssh服务:

service sshd restart

4. 测试验证

Linux怎么限制指定账户不能SSH只能SFTP在指定目录

补充:

1. Subsystem sftp /usr/lib/openssh/sftp-server 更为 internal-sftp,这两者有什么区别呢?

简单的说默认sftp 进程由单独的二进制文件:/usr/lib/openssh/sftp-server启动,而internal-sftp  则无需外部二进制文件额外启动一个进程,整合在sshd进程内了。

internal-sftp相较于 /usr/lib/openssh/sftp-server 优点在于:

2. ChrootDirectory directory

一般出现问题会在ChrootDirectory directory上,这个地方的目录不能直接配置到目标目录,需要配置到他的上一级;即给  /A/B/C的C目录做chroot,要对C能读写,所以C目录不能做ROOT目录,对B做chroot。

感谢各位的阅读!关于“Linux怎么限制指定账户不能SSH只能SFTP在指定目录”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

推荐阅读:
  1. centos7中实现chroot限制ssh及sftp至指定目录
  2. sftp 限制用户登陆指定目录(家目录)

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

linux ssh sftp

上一篇:如何理解前端的自动化重构

下一篇:怎么更改Windows 10时间同步间隔

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》