![如何使用“查找”来更新文件夹中所有目录、文件和符号链接的所有权?](https://linux22.com/image/67048/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%E2%80%9C%E6%9F%A5%E6%89%BE%E2%80%9D%E6%9D%A5%E6%9B%B4%E6%96%B0%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E6%89%80%E6%9C%89%E7%9B%AE%E5%BD%95%E3%80%81%E6%96%87%E4%BB%B6%E5%92%8C%E7%AC%A6%E5%8F%B7%E9%93%BE%E6%8E%A5%E7%9A%84%E6%89%80%E6%9C%89%E6%9D%83%EF%BC%9F.png)
我正在尝试将目录树中所有内容的所有权从我更新为根目录。我习惯find
比递归更仔细地做这件事chown
。
以下是我用来更改树中所有文件和目录的所有权的命令:
cd /opt/mydir
# Update files
sudo find . -type f -execdir chown root:root "{}" +
# Update directories
sudo find . -type d -execdir chown root:root "{}" +
这些对于所有文件和目录都适用。
但我注意到有符号链接指向/opt/mydir
同一目录树中某处的文件,我仍然保留其所有权。
例如:
lrwxrwxrwx 1 civfan civfan 6 Jul 18 2013 halt -> reboot
-rwxr-xr-x 1 root root 14832 Jun 25 2013 reboot
这看起来是错误的,如果我现在不修复它,以后可能会导致我的权限问题。
如何更改所有符号链接文件的所有权?
答案1
符号链接的所有权并不重要。它的引用实体确实如此。
也就是说,用于find -l
发现目录树中的符号链接。
使用chown -h
和/或chmod -h
对符号链接进行操作。
find . -type l -exec chown -h root:root {} +