Основа философии 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 может помочь исправить много ошибок.
Anubis – это максимально легкое open-source решение, созданное специально для защиты небольших веб-ресурсов от бесконечного потока запросов от ботов и AI парсеров. Этот инструмент можно считать "ядерным вариантом", потому что он заставляет ботов выполнять вычисления похожие на майнинг криптовалюты. Но это неплохая альтернатива для тех, кто не может или не хочет использовать Cloudflare. Посмотреть детали











Но но но, Нельзя это в общак, то есть больше админа. У меня Раиска зам бухгартера продвинутая. Её это знать нельзя. А на лосте она висит.
Михаил, спрячь ее стикер на мониторе с паролем от root)
Я её главным поставлю, доверяю. А root, у меня и у Олега сиса моего, только.
хм-м, думал тут ничего полезного не найду. Оказалось что я про условия смены не знал.
круто. нужно детальнее изучить.
Спасибо за справку. После переноса сайта столкнулся с проблемой — пропала возможность редактирования сайта через админ-панель Вордпресса. Сначала не мог понять в чём проблема... По описанию ошибки обнаружилось, что проблема была в том, что атрибуты "владелец/группа" не совпадали со значением "root root". Ваша инструкция попалась первой в поиске. Всё очень понятно расписано. Очень помогли.
А у меня на сайте, возникла проблема доступа по неизвестным причинам, какой-то хаос с юзерами и нет доступа к файлам. немого плагины обновлять .. и вообще .. хоть сайт сноси и переделывай заново, потому что с правами играться задолбаешься!
Решил свою проблему – причём проблема не решалась даже сносом сайта. Я снес свой сайт потом заново создал и проблема осталась – плагины не обновлялись, доступа к файлам базы данных не было. А ведь решение было простейшим, надо было просто снять атрибут "i" после чего и команда chown становится доступной.
Неплохо, только обычно нужно не на root права менять а на какого нибудь юзверга. Поэтому справку лучше писать так: Меняем права каталога/файла, скопированного из root в папку пользователя, на права этого пользователя, ну и плюс команда (уже из профиля этого юзера): sudo chown user:group ~/.config/libvirt/libvirt.conf ... имхо.
root:root
что из этого пользователь, а что владелец?
Первое это имя пользователя, которого вы делаете владельцем файла\каталога, а второе название группы пользователей (юзеры в линуксе делятся по группам), с которыми вы это делаете
Если вы хотите чтобы изменения применялись не только к этому каталогу, но и ко всем его подкаталогам, добавьте опцию -R пробовал в симпле линукс не работает только -hR сработал.
Подскажите - что можно сделать кроме переустановки\разбекапливания системы
Вместо папки пользователя рекурсивно дал права на корень. Какой либо откат возможен? Бекап системы недельной давности 🙁
Thank You so much !