我创建了两个用户/home/meuser
:/home/otheruser
我创建了一个名为 workgroup 的组,并将这两个用户添加到新组
sudo usermod -a -G workgroup meuser
sudo usermod -a -G workgroup otheruser
我创建了一个目录/home/meuser/workarea
,两个用户都应该可以访问它
sudo chgrp -R workgroup /home/meuser/workarea
sudo chmod -R 770 /home/meuser/workarea
其他用户可以登录并访问/home/meuser/workarea
目录并查看其中的所有文件。但是当其他用户执行 cd.. 时,其他用户可以进入我的目录/home/meuser
。如何防止用户进入工作区目录并查看我的目录。我是否应该在其他文件路径中创建工作区/
,然后需要 sudo,但我不想提供。如果其他用户执行 cd..,它应该会给出一个错误,说您无权访问或类似的东西。但其他用户应该能够使用 cd '-' 进入其他用户的主目录。
另外,我认为有办法将公共工作区目录链接到其他用户并让他看到他家中的工作区目录。
你能给出一些建议吗?
答案1
通过 sshd 使用 chroot。Chroot 会更改用户/组的根目录。他们无法访问此目录之外的任何内容。附加到 /etc/ssh/sshd_config
Match Group workgroup
ChrootDirectory /home/meuser/workarea/
ForceCommand internal-sftp
PermitTunnel no
AllowAgentForwarding no
AllowTcpForwarding no
X11Forwarding no
我认为 ChrootDirectory 后面的几行只是针对此类情况的良好做法。据我所知,它们可以防止绕过此操作。更改配置后,请确保重新启动 sshd。