如何使用“查找”来更新文件夹中所有目录、文件和符号链接的所有权?

如何使用“查找”来更新文件夹中所有目录、文件和符号链接的所有权?

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

相关内容