请帮助我了解 Linux 在这方面是如何工作的。我在树莓派上设置了 samba 文件共享,并为新用户创建了一个用户帐户和一个目录。然后,我使用 chown 和 chmod 700 使其他人成为所有者,并只授予他们对该文件的权限。我用了:
sudo chown newuser /somedirectory
sudo chmod -R 700 /somedirectory
(编辑:我忘了提到-R)
正如预期的那样,管理员帐户现在无法访问该目录。当我通过查看它时ls -l
,它被列为d---------
我不明白。难道不应该是drwx------
因为所有者拥有完全访问权限吗?
另外,有什么办法可以恢复这个文件夹的权限吗?我想不会,因为否则用户永远无法确定管理员没有在他们的文件中挖掘,对吗?因此,最合理的方法是,为了让管理员帐户重新获得完全权限,该文件夹的新所有者现在必须登录并使用 chmod 向其他用户授予权限。
我仍然可以使用 chown 将目录的所有者设置回管理员帐户,但这仍然不允许我再次更改权限。
这里发生了什么?
编辑:
为了详细说明这一点,我正在尝试这些设置,因为我正在设置 NAS,我想我应该给我妻子她自己的文件夹来存储东西。她问它是否受密码保护但我想只要我可以随时撤销她的隐私权,那就不算真正受到保护了。 Linux 以这种方式工作是有道理的,因为它更常在公司等中使用,如果管理员本人没有完全访问权限,那可能会是灾难性的。
答案1
首先,如果您实际使用了chmod 700
所得权限,则不应是d---------
.你可能把事情搞混了,但如果没有看到确切的事实,任何人都只能猜测出了什么问题。
其次,Linuxroot
帐户通常可以修改所有权限、删除或修改所有文件、终止进程等。如果你不能信任一个人,就不要给他们 root 访问权限,就这样。
将文件存储在可能不安全的文件存储上的唯一方法是在存储之前在安全计算机上对其进行加密和数字签名。