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.