我有一个深层而复杂的文件系统,其中一些文件被 root 意外写入。我想一次性将这些文件的所有权改回原始所有者。
我正在使用如下命令:
find /folder -type f | xargs ls -l | grep "root root"
但也产生了很多垃圾。
我想先列出一个清单,然后在确认后只更改该列表中的文件。
答案1
find /folder -type -f -uid 0
将找到 root 拥有的目录下的所有文件,-user root
自然也会起作用。
如果以下所有文件/folder
都应由同一用户/组拥有,则您只需执行递归即可chown
:
chown -R user:group /folder
答案2
使用
find /folder -uid 0 >/tmp/root.files
获取 root 拥有的文件列表。查看完列表后,您可以使用
while read file
do
chown user:group "$file"
done </tmp/root.files
答案3
与其他答案一样,使用find
或-uid 0
来-user root
查找属于根目录的文件。然后使用-exec
操作:
find /folder -type f -uid 0 -exec chown root:root {} \;