作为服务器的主要管理员,我想让用户看不到彼此的主文件夹。 (所以我 chmod 750 包括我在内的主文件夹,这样我可以看到我的,但看不到其他人的)。
我意识到如果我需要查看用户的文件夹,我可以“su”更改为用户,但我假设 root 能够移入该文件夹并查看内容,但显然我不能“sudo” cd' 或 'sudo ls'。
所以我正在考虑将所有用户都放在一个“用户组”中,我可以成为其中的成员。或者这是一个糟糕的主意?我应该只是“su”还是有我想不到的解决方法?
我确实搜索了解决方案,但正如你可以想象的那样,你找到的 99.9% 的解决方案都没有讨论这个特定的场景,一般来说更多的权限。
总结一下:我希望能够看到用户文件夹中的内容而不必“su”,但让其他用户无法看到彼此的文件夹中的内容。
答案1
在不诉诸 ACL 的情况下实现此目的的唯一方法是将权限设置为750
并且您的用户名成为每个其他用户的主要组的成员。例如,假设您有这些用户:
me
user1
otheruser
/home
看起来像这样:
drwxr-x--- 2 me me 4096 Mar 3 12:14 me
drwxr-x--- 24 user1 user1 4096 Apr 8 05:33 user1
drwxr-x--- 2 otheruser otheruser 4096 Feb 11 09:27 otheruser
在你的组文件中你会看到这些
me:x:500:
user1:x:501:
otheruser:x:502:
您将把自己添加到其他用户的主要组中,您的组填充将如下所示:
me:x:500:
user1:x:501:me
otheruser:x:502:me
答案2
我不建议成为所有用户组的成员,但请查看扩展 ACL。
阅读有关setfacl
和getfacl
的网页或手册页,并设置允许您进入其他主目录的默认 ACL。