我是 root。我想将目录 SuperSensitiveDirectory 设为私有,以便只有 root 可以读取其中的文件及其子目录。这些文件中有密码,除了 root 之外,其他用户都看不到它们。不过,我的 SuperSensitiveDirectory 的子目录中有两个日志文件,我希望每个人都可以看到它们(但不能写入)。
理想情况下,我会将 SuperSensitiveDirectory 设为私有,并为日志文件添加某种例外。我该怎么做?
如果无法完成,是否有办法递归地将 SuperSensitiveDirectory 中的所有文件更改为 700 权限?如果我这样做了,那么我就可以单独更改日志文件的权限。
答案1
如果你将目录权限设置为 700
$ chmod -R 700 foo
即使你对目录中的任何其他文件执行 777 操作,其他任何用户也无法访问目录内容。因此最终导致目录中的文件无法读取。
为了解决这个问题,您可以在具有公共读取权限的目录中创建日志文件的符号链接,同时也授予这些链接的读取权限。
答案2
可以通过打开 nautilus 或其他文件管理器并转到属性,然后转到权限并将所有者和组都设置为“root”,然后将所有者的权限设置为读/写,将组的权限设置为读/写,将“其他所有人”的权限设置为“无法访问”或您的文件管理器所称的任何权限,来将其权限设置为“仅以 root 身份读/写”。