Linux 用户无法读取或编辑其主目录之外的内容

Linux 用户无法读取或编辑其主目录之外的内容

我想知道如何在 Linux 上设置用户账户,使得用户无法在其主目录之外读取或编辑内容。

谢谢,本

答案1

通常,您需要将它们 chroot 到其主目录中。如果您在 Google 上搜索“linux chroot 主目录”之类的内容,您将找到数百个关于该主题的操作指南。

这并不像运行单个命令那么简单。

答案2

有效问题,+1 可删除反对票。Mike 的方法才是实现您所寻求目标的“正确方法”。

直接的答案(也是最麻烦的做事方式)是破坏系统的权限。您可能认为使用 chmod -R 750 * 就可以做到这一点,但是这样您的用户将无法运行程序或读取 /etc 中的重要初始化文件。

为了仍然允许人们访问重要信息,我会将目录权限设置为 751 或 711,也就是drwx--x--x。这允许人们“执行”文件夹,这样他们就可以进入该文件夹,但无法获取目录列表。因此,如果您将 /etc 权限设置为 751(或 711),如果有人知道这些文件在那里,他们仍然可以读取 644 的普通文件。因此,您可以cat /etc/hosts或其他重要的设置文件,以便正常运行。

这不是我所说的正确的方式(或正确的答案),但作为用户,我会这样做,以便与其他用户共享服务,同时仍然保留一些隐私。


现在我对此有了更多的思考,这个问题的实际场景可能是轻度偏执的虚拟主机偶尔向用户授予 ssh 访问权限。我会尝试类似这样的东西,find /etc/ -R -type d -perm 755 -print0 | xargs -0 chmod 711这样实际上可以防止人们过多地窥探。如果有人真的很厉害,显然他们会猜出文件名……

另一个实际的奇怪711目录权限案例是在文件服务器上设置 Samba 共享,但仍然为各个用户提供共享上的自己的主目录。设置如下:

drwx--S--T. 38 chris samba 12K 2012-06-14 17:16 chris

相关内容