ubuntu 20.04 - sshd_config 中的 ChrootDirectory 无法与令牌 %h 或 %u 一起使用

ubuntu 20.04 - sshd_config 中的 ChrootDirectory 无法与令牌 %h 或 %u 一起使用

我正在尝试使用 sshd_config 中的专用组将用户锁定到他们的主目录中。我的组部分如下所示

Match Group sftponly
ChrootDirectory %h
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

当我尝试连接任何用户时,使用 %h 甚至 /home/%u 都不起作用。我检查了他们的主目录上的所有权限,一切看起来都正常。

有趣的是,当我为 ChrootDirectory 提供静态路径时,一切都正常工作。

例如,以下配置允许用户连接(但在错误的目录中)

Match Group sftponly
ChrootDirectory /home/
X11Forwarding no
AllowTcpForwarding no
ForceCommand internal-sftp

man sshd_config 说我正确使用了 %h 令牌:

ChrootDirectory 接受标记 %%、%h、%U 和 %u。

感谢任何提示,因为我已经花了一个小时了

答案1

正如这里所回答的这里导致这里必须ChrootDirectory由 拥有,root并且不能具有任何组写访问权限。

由于特定用户的主目录默认由该用户拥有,因此您的配置不起作用。

因此,要么将chown主目录添加到其中root并在其中创建一个用户有权读取/写入的文件夹,要么使用不同的ChrootDirectory

相关内容