Название утилиты chown произошло от слов «change» и «owner» («сменить» и «владелец»). Когда меняется владелец файла или папки, то он получает дополнительные возможности, как правило максимальные, но и их можно изменить, за это уже отвечает другая команда — chmod.
О команде chown
Chown — команда в ОС Linux для смены владельца и группы файлов и папок. При создании файла у него появляется владелец — пользователь который непосредственно создал файл, а также группа. Так получается распределить права доступа в системе более гибко. Чтобы узнать владельца и группу можно воспользоваться командой ls с флагом -l.
Синтаксис
Если нам необходимо сменить владельца и группу файла, то синтаксис будет следующем:
# chown флаги владелец:группа файл
Синтаксис chown стандартный, указываем флаги, далее владельца и файл либо папку которым хотим сменить права доступа.
Стоит обратить внимание на :, если вы хотите сменить владельца, то команда будет выглядеть следующим образом:
# chown флаги владелец файл (нет :). Так мы меняем владельца, но группа останется прежней.
Если понадобилось сменить группу, то команда будет такая:
# chown флаги :группа файл (есть : перед группой). Таким образом мы указываем команде, что мы хотим сменить только группу для файла, но владельца оставим прежним.
Флаги chown
- -c — вывод подробной информации об изменениях
- -f — удаление всей информации о возможных ошибках
- —dereference — если необходимо поменять права для файла, помеченного символической ссылкой
- -v — вывод подробного лога о каждом обработанном файле
- -h — используется если необходимо изменить владельца/группу символических ссылок, но оставит неизменными файлы, на которые они ссылаются
- —from — изменит пользователя только для тех файлов, владельцем которых являются он и группа
- -R — также произойдет обработка всех подкаталогов, если действия применяются к папке
- -H — если передана символическая ссылка на каталог, то флаг укажет перейти по ней
- -L — указывает на переход по всем символическим ссылкам на каталоги
- -P — запрещает переходить по символическим ссылкам на каталоги, эта опция установлена по-умолчанию
Примеры команды chown
Поменяем владельца и группу файлу:
# chown admin:group file
Поменяем только группу:
# chown :group file
А теперь только владельца:
# chown admin file
Поменяем владельца и группу нескольким файлам с выводом подробной информации о каждом:
# chown admin:group file file2 file3
Поменяем владельца и группу рекурсивно (например находясь внутри директории вам необходимо сменить владельца и группу всех файлов и папок этой директории), воспользуемся флагом -R:
# chown -R admin:group
Добавим флаг -c для просмотра подробной информации об изменениях:
# chown -R -с admin:group
Добавим флаг -v для вывода подробной информации о всех действиях:
# chown -R -v admin:group
Добавим флаг -f и скроем вывод всей информации о возможных ошибках:
# chown -R -f admin:group