dr.Brain

doctor Brain

мир глазами веб-разработчика

Командная строка: chown

chown - меняем владельца файла или директории

dr.Brain

время чтения 2 мин.

Photo by Polina Kuzovkova on Unsplash

В таких операционных системах, как Linux или macOS (впрочем, как и в любых операционных системах, основу которых составляет UNIX), каждый файл и директория имеют своего владельца.

Именно владелец вправе делать с файлом все что угодно, определяя его дальнейшую судьбу.

Текущий владелец (а кроме владельца еще и root пользователь) может изменить владельца файла или директории с помощью команды chown.

Команда chown в своем простейшем представлении имеет следующий синтаксис:

chown <owner> <file>

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

chown newuser /text.txt

Часто нам нужно поменять не только владельца определенной директории, но и владельца всех находящихся в ней папок и файлов. Как раз для таких целей предназначена опция -R, в этом случае синтаксис команды будет иметь вид:

chown -R <owner> <directory>

Например, так:

chown -R newuser /home

мы установим для директории home и всех вложенных в нее папок и файлов владельца newuser.

Кроме владельца для файлов и директорий можно определить группу:

chown <owner>:<group> <file>

Например:

chown newuser:users /text.txt

Так же, с помощью уже другой команды chgrp, для файла или директории можно сменить только группу:

chgrp <group> <file>

Обратимся к основным полезным опциям команды chown:

  1. -f: скрываем сообщения об ошибках;
  2. -H: если передана символическая ссылка на директорию, переходим по ней;
  3. -h: изменяем владельца и группу только для символических ссылок, не затрагивая файлы, к которым они ведут;
  4. -L: переходим по всем символическим ссылкам, находящимся в директории;
  5. -P: не переходим по всем символическим ссылкам, находящимся в директории (поведение команды по умолчанию);
  6. -R: рекурсивно меняем владельца и группу для всех вложенных папок и файлов;
  7. -n: интерпретируем идентификаторы пользователя и группы как числовые значения;
  8. -v: выводим подробную информацию, показывая файлы, для которых изменился владелец.

Следует знать, что опции -H, -L, -P не работают без опции -R.

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


Спасибо за внимание.

Новые публикации

Далее

Категории

О нас

Frontend & Backend. Статьи, обзоры, заметки, код, уроки.