9.6. Выполнение массовых операций командой chown

Проблема:
Необходимо изменить владельца каталога и всего его содержимого, лишь содержимого или отдельных файлов из списка. Также возникла потребность в передаче права владения файла от одного пользователя к другому.

Решение:
Для выполнения массовых операций можно использовать команду chown. Альтернативными способами являются команда find или метасимволы командной строки.

Для смены владельца сразу нескольких файлов, перечислите их, разделяя пробелами:

# chown carlas file.txt file2.txt file3.txt

Также можно использовать метасимволы командной строки:

# chown carlas *.txt

Чтобы передать все файлы одного пользователя другому:

# chown -R -v --from valh piglet /shared/scripts

Аналогичное действие с использованием команды find:

# find / -user valh -exec chown -v piglet {} \;

Команда find также позволяет находить файлы по коду UID, что невозможно сделать с помощью chown:

# find / -uid 1050 -exec chown -v 1200 {} \;

Для смены владельца каталога вместе со всеми подкаталогами и файлами, с подробным выводом:

# chown -R -v piglet /shared/scripts
changed ownership of 'scripts/backups.tgz' to piglet
changed ownership of 'scripts/fake-spec-rpm' to piglet

В команде можно использовать как имя пользователя, так и UID. Если учетная запись пользователя была удалена, и в системе остались файлы без владельца, их можно найти, используя UID.

См. также:
info chown; раздел 8.