find . -uid 0 -print0 | xargs -0 chown foo:foo
Изменяет владельца файлов и каталогов, принадлежащих пользователю с UID 0 (обычно root), на пользователя «foo» и группу «foo». Это полезно для изменения владельца файлов, принадлежащих администратору, на обычного пользователя «foo».
Аргументы:
— .
: Точка означает текущий каталог как начальную точку поиска.
— -uid 0
: Фильтрует файлы и каталоги, принадлежащие пользователю с UID 0 (root).
— -print0
: Печатает результат с нулевыми символами для обработки файлов и каталогов с пробелами и специальными символами.
— xargs -0 chown foo:foo
: Принимает список файлов с нулевыми символами от предыдущей команды и изменяет их владельца на «foo» и группу «foo».
Альтернатива: Можно использовать find
с -exec
для изменения владельца напрямую без xargs
, но -exec
может быть менее эффективным для большого количества файлов.