Командная строка: chown
chown - меняем владельца файла или директории
В таких операционных системах, как Linux или macOS (впрочем, как и в любых операционных системах, основу которых составляет UNIX), каждый файл и директория имеют своего владельца.
Именно владелец вправе делать с файлом все что угодно, определяя его дальнейшую судьбу.
Текущий владелец (а кроме владельца еще и root пользователь) может изменить владельца файла или директории с помощью команды chown
.
Команда chown
в своем простейшем представлении имеет следующий синтаксис:
chown
Например, чтобы сделать пользователя newuser
владельцем файла text.txt
, находящегося в корне проекта, нужно сделать так:
chown newuser /text.txt
Часто нам нужно поменять не только владельца определенной директории, но и владельца всех находящихся в ней папок и файлов. Как раз для таких целей предназначена опция -R
, в этом случае синтаксис команды будет иметь вид:
chown -R
Например, так:
chown -R newuser /home
мы установим для директории home
и всех вложенных в нее папок и файлов владельца newuser
.
Кроме владельца для файлов и директорий можно определить группу:
chown :
Например:
chown newuser:users /text.txt
Так же, с помощью уже другой команды chgrp
, для файла или директории можно сменить только группу:
chgrp
Обратимся к основным полезным опциям команды chown
:
-
-f
: скрываем сообщения об ошибках; -
-H
: если передана символическая ссылка на директорию, переходим по ней; -
-h
: изменяем владельца и группу только для символических ссылок, не затрагивая файлы, к которым они ведут; -
-L
: переходим по всем символическим ссылкам, находящимся в директории; -
-P
: не переходим по всем символическим ссылкам, находящимся в директории (поведение команды по умолчанию); -
-R
: рекурсивно меняем владельца и группу для всех вложенных папок и файлов; -
-n
: интерпретируем идентификаторы пользователя и группы как числовые значения; -
-v
: выводим подробную информацию, показывая файлы, для которых изменился владелец.
Следует знать, что опции -H
, -L
, -P
не работают без опции -R
.
Итак, команда chown
позволяет быстро изменить владельца папки или файла, а в сочетании с опцией -R
- владельца и группу не только самой папки, но и всех вложенных в нее папок и файлов. Таким образом, мы можем решить значительное количество проблем, связанных с нарушением прав, в различных проектах.
Спасибо за внимание.