在Linux上,如何制作特定所有者拥有的文件列表,然后修复组和所有者?

我有一个深层复杂的文件系统,其中有一些文件被意外地写入root。 我想将这些文件的所有权一次性更改回原始所有者。

我正在玩命令,如:

find /folder -type f | xargs ls -l | grep "root root" 

但也有很多垃圾出来了。

我想先列出一个列表,然后在确认后只更改列表中的文件。

 find /folder -type -f -uid 0 

会findroot所拥有的目录下的所有文件, -user root自然也会起作用。

如果/folder下面的所有文件应该属于同一个用户/组,则可以简单地执行一个recursion的chown

 chown -R user:group /folder 

使用

 find /folder -uid 0 >/tmp/root.files 

获取由root拥有的文件列表。 一旦你审查了你可以使用的列表

 while read file do chown user:group "$file" done </tmp/root.files 

和其他答案一样,使用find或者-uid 0或者-user root来查找属于root的文件。 然后使用-exec动作:

find /folder -type f -uid 0 -exec chown root:root {} \;