我正在尝试将目录树中所有内容的所有权从我更新为根目录。我习惯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 {} +