![SSH ChrootDirectory 到可共享文件夹](https://linux22.com/image/180871/SSH%20ChrootDirectory%20%E5%88%B0%E5%8F%AF%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我正在使用以下结构。我有一个公司组和与该公司关联的用户。我做了如下:
- 创建群组
company
; - 创建用户并将该组添加到用户中;
每个用户都有自己的主目录,包括.ssh
带有公钥的文件夹。
- 创建一个文件夹
/shared/company
; - 设置组所有权
chgrp -R company /shared/company
; - 设置群组权限
chmod -R g+rw /shared/company
; - 设置
setid
find /shared/company -type d -exec chmod g+s {} \;
;
然后我更新了每个.bashrc
用户文件,包括umask 002
.
现在,一切都好起来了。用户可以使用适当的权限访问共享文件夹、创建和读取文件。但是,现在,我想要:
强制用户使用 SSH 自动进入共享文件夹。我的意思是:用户将在 SSH 中使用您的私钥建立新连接,然后登录时,用户将位于/shared/company
not in 中/home/<user>
。
当我添加/etc/ssh/sshd_config
以下指令时:
Match Group company
ChrootDirectory /shared/company
连接已重置,用户无法连接。我该如何解决?
编辑#1
chown root:root /shared/company
用户可以在更改 /shared/company和的属性和权限后进行连接chmod 755 /shared/company
。但登录后,用户会收到消息/bin/bash: No such file or directory
并断开连接。