Команда chown Linux

Основа философии Linux - все объекты операционной системы - это файлы, для предоставления доступа к тем или иным возможностям системы мы просто даем доступ пользователю к нужным файлам или убираем. Я более подробно рассказывал обо всех правах в статье права доступа к файлам в Linux, здесь же скажу только что у каждого файла есть три группы прав: для владельца, группы и всех остальных.

При создании файла ему тот пользователь, от имени которого он был создан становится его владельцем, а группой устанавливается основная группа владельца. Но владельца файла и группу можно менять, для этого используются команды chown и chgrp. В этой статье будет рассмотрена команда chown linux, а также основные примеры её использования.

Команда chown Linux

1. Синтаксис и опции

Синтаксис chown, как и других подобных команд linux очень прост:

$ chown пользователь опции /путь/к/файлу

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

  • -c, --changes - подробный вывод всех выполняемых изменений;
  • -f, --silent, --quiet - минимум информации, скрыть сообщения об ошибках;
  • --dereference - изменять права для файла к которому ведет символическая ссылка вместо самой ссылки (поведение по умолчанию);
  • -h, --no-dereference - изменять права символических ссылок и не трогать файлы, к которым они ведут;
  • --from - изменять пользователя только для тех файлов, владельцем которых является указанный пользователь и группа;
  • -R, --recursive - рекурсивная обработка всех подкаталогов;
  • -H - если передана символическая ссылка на директорию - перейти по ней;
  • -L - переходить по всем символическим ссылкам на директории;
  • -P - не переходить по символическим ссылкам на директории (по умолчанию).

Утилита имеет ещё несколько опций, но это самые основные и то большинство из них вам не понадобится. А теперь давайте посмотрим как пользоваться chown.

2. Использование chown

Например, у нас есть несколько папок dir и их владелец пользователь sergiy:

ls

Давайте изменим владельца папки dir1 на root:

chown root ./dir1

Если вы хотите поменять сразу владельца и группу каталога или файла запишите их через двоеточие, например, изменим пользователя и группу для каталога dir2 на root:

chown root:root ./dir2

Если вы хотите чтобы изменения применялись не только к этому каталогу, но и ко всем его подкаталогам, добавьте опцию -R:

chown -R root:root ./dir3

Дальше давайте изменим группу и владельца на www-data только для тех каталогов и файлов, у которых владелец и группа root в каталоге /dir3:

chown --from=root:root www-data:www-data -cR ./

Для обращения к текущему каталогу используйте путь ./. Мы его использовали и выше. Далее указываем нужную группу с помощью опции --from и просим утилиту выводить изменения, которые она делает в файловой системе с помощью опции -c.

Выводы

Команда chown очень простая и позволяет только менять владельца и группу. Если вы хотите более подробно настроить права для владельца, группы и всех остальных, вам понадобится команда chmod. Права - довольно частая проблема при настройке работы различных программ, знание двух этих команд плюс ls и namei может помочь исправить много ошибок.

4 комментария

  1. Михаил Август 9, 2019 Ответить
  2. Арт Август 10, 2019 Ответить
    • Михаил Август 10, 2019 Ответить
  3. huiygukui Август 15, 2019 Ответить

Ответить

Сообщить об опечатке

Текст, который будет отправлен нашим редакторам: