网站首页 > 技术教程 正文
概述
由于某台服务器需要对指定用户进行限制,只允许访问指定目录,这个需求在很多场景应该是比较常见的,下面介绍一种解决方案。
以下限制了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 # 子目录授权
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连接
注意:
1.由ChrootDirectory指定的目录开始一直往上到系统根目录为止的目录拥有者都只能是root
2.由ChrootDirectory指定的目录开始一直往上到系统根目录为止都不可以具有群组写入权限
3、重启ssh服务:
service sshd restart
4、测试验证
补充:
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 优点在于:
1)性能好,无需额外进程了嘛;
2)安全性好,无需用户登录shell,且可使用ChrootDirectory 限制sftp行为活动的目录;
3)sftp-server 的存在主要是向后兼容。
2、ChrootDirectory directory
一般出现问题会在ChrootDirectory directory上,这个地方的目录不能直接配置到目标目录,需要配置到他的上一级;即给 /A/B/C的C目录做chroot,要对C能读写,所以C目录不能做ROOT目录,对B做chroot。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
猜你喜欢
- 2025-06-09 linux日志文件的管理、备份及日志服务器的搭建
- 2025-06-09 Linux下挂载windows的共享目录操作方法
- 2025-06-09 Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 2025-06-09 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 2025-06-09 「Linux笔记」系统目录结构(linux目录的结构及含义)
- 2025-06-09 linux中修改归属权chown命令和chgrp命令
- 2025-06-09 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- 2025-06-09 Windows和Linux环境下,修改Ollama的模型默认保存路径
- 2025-06-09 如何强制用户在 Linux 上下次登录时更改密码?
- 2025-06-09 如何删除Linux文件夹中除某些扩展名之外的所有文件?
你 发表评论:
欢迎- 最近发表
-
- linux日志文件的管理、备份及日志服务器的搭建
- Linux下挂载windows的共享目录操作方法
- Linux系统中的备份文件命令(linux系统中的备份文件命令有哪些)
- 麒麟KYLINOS|通过不同方法设置用户访问文件及目录权限
- 「Linux笔记」系统目录结构(linux目录的结构及含义)
- linux中修改归属权chown命令和chgrp命令
- 工作日报 2021.10.27 Android-SEAndroid权限问题指南
- Windows和Linux环境下,修改Ollama的模型默认保存路径
- 如何强制用户在 Linux 上下次登录时更改密码?
- 如何删除Linux文件夹中除某些扩展名之外的所有文件?
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)