![如何仅影响仅在目录中具有路径的文件?](https://linux22.com/image/189760/%E5%A6%82%E4%BD%95%E4%BB%85%E5%BD%B1%E5%93%8D%E4%BB%85%E5%9C%A8%E7%9B%AE%E5%BD%95%E4%B8%AD%E5%85%B7%E6%9C%89%E8%B7%AF%E5%BE%84%E7%9A%84%E6%96%87%E4%BB%B6%EF%BC%9F.png)
如果我理解正确的话,在linux中,一个文件可以有任意数量的路径。假设某个用户想要更改其/home/<user>
文件的权限,以便其他用户无法读取其所有文件。直觉上运行是有意义的chmod o-r -R ~
。然而,根据我最初的评论,这似乎是一个潜在的坏主意:所述用户主目录的(子)目录中可能存在文件,这些文件也在该目录之外,并且我们不想更改这些文件的权限。那么应该做什么呢?
答案1
确实,用户home
目录中的文件可能是指向其主目录之外的文件的符号链接。并且chmod
会更改符号链接目标的权限,因为符号链接本身的权限通常不被使用。但是检查手册页chmod
我们看到“chmod 忽略递归目录遍历期间遇到的符号链接”。因此,您所说的命令chmod o-r -R ~
不会影响实际上不直接位于您的主目录中的任何内容。
有关更多信息的好地方是 、 和 的chmod
手册chown
页ls
。