Главная >> Команды >> Команда chown Linux

Команда 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 может помочь исправить много ошибок.

Creative Commons License
Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна .

12 комментариев к “Команда chown Linux”

  1. Но но но, Нельзя это в общак, то есть больше админа. У меня Раиска зам бухгартера продвинутая. Её это знать нельзя. А на лосте она висит.

    Ответить
  2. Спасибо за справку. После переноса сайта столкнулся с проблемой — пропала возможность редактирования сайта через админ-панель Вордпресса. Сначала не мог понять в чём проблема... По описанию ошибки обнаружилось, что проблема была в том, что атрибуты "владелец/группа" не совпадали со значением "root root". Ваша инструкция попалась первой в поиске. Всё очень понятно расписано. Очень помогли.

    Ответить
  3. А у меня на сайте, возникла проблема доступа по неизвестным причинам, какой-то хаос с юзерами и нет доступа к файлам. немого плагины обновлять .. и вообще .. хоть сайт сноси и переделывай заново, потому что с правами играться задолбаешься!

    Ответить
  4. Решил свою проблему – причём проблема не решалась даже сносом сайта. Я снес свой сайт потом заново создал и проблема осталась – плагины не обновлялись, доступа к файлам базы данных не было. А ведь решение было простейшим, надо было просто снять атрибут "i" после чего и команда chown становится доступной.

    Ответить
  5. Неплохо, только обычно нужно не на root права менять а на какого нибудь юзверга. Поэтому справку лучше писать так: Меняем права каталога/файла, скопированного из root в папку пользователя, на права этого пользователя, ну и плюс команда (уже из профиля этого юзера): sudo chown user:group ~/.config/libvirt/libvirt.conf ... имхо.

    Ответить
    • Первое это имя пользователя, которого вы делаете владельцем файла\каталога, а второе название группы пользователей (юзеры в линуксе делятся по группам), с которыми вы это делаете

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

    Ответить
  7. Подскажите - что можно сделать кроме переустановки\разбекапливания системы
    Вместо папки пользователя рекурсивно дал права на корень. Какой либо откат возможен? Бекап системы недельной давности 🙁

    Ответить

Оставьте комментарий