У меня глубокая и сложная файловая система, в которой некоторые файлы были случайно записаны пользователем root. Я хочу сразу же вернуть права собственности на эти файлы исходному владельцу.
Я играю с такими командами, как:
find /folder -type f | xargs ls -l | grep "root root"
но выходит тоже много мусора.
Я хочу сначала составить список, а затем после подтверждения изменить только файлы в этом списке.
find /folder -type -f -uid 0
найдет все файлы в каталоге, принадлежащем пользователю root, -user root
тоже будет работать, естественно.
Если все файлы ниже /folder
должен принадлежать тому же пользователю / группе, вы можете просто выполнить рекурсивный 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
найти файлы, принадлежащие корню. Затем используйте -exec
действие:
find /folder -type f -uid 0 -exec chown root:root {} \;