Команда Chown в Linux: как ее использовать


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

Команда chown — наиболее полезный инструмент для этого. Чтобы не путать с chmod, chown может изменять права пользователя на файлы и назначать их различным группам. Это важная команда, которую должен освоить любой серьезный пользователь Linux.

Вот руководство, с которого можно начать.

Как проверить право собственности на файл?

Прежде чем приступить к передаче файлов другим владельцам и группам, вам следует сначала научиться проверять текущего владельца файла. Процесс прост: добавление флага -l к обычной команде ls включает информацию о владельце запрошенного файла или каталога.

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

ls -l example.txt

Использование chown для одного файла

Самый простой способ использования chown — изменить пользователя, владеющего определенным файлом. Синтаксис: sudo chown имя_пользователя имя_файла, где имя_пользователя — это имя пользователя, которому вы хотите передать файл, а имя_файла — это имя рассматриваемого файла. Вот как это выглядит на практике:

sudo chown who_else example.txt

Обратите внимание, что это не меняет группового владельца файлов, а только пользователя. Чтобы изменить владельца группы, вам придется использовать другой синтаксис — sudo chown :имя_группы имя_файла

В данном конкретном случае это выглядит следующим образом:

sudo chown :group2 example.txt

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

sudo chown me:group1 example.txt

Изменение владельца нескольких файлов с помощью Chown

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

sudo chown who_else:group2 example1.txt example2.txt.

Используйте тот же прием, чтобы проверить право собственности на несколько файлов:

ls -l example1.txt example2.txt

Даже при объединении нескольких имен файлов в одну команду этот процесс слишком неудобен для более чем пары файлов. Лучшим подходом является одновременное изменение владельца всего содержимого каталога.

Это достигается добавлением флага -R к команде chown. Это заставляет chown просматривать содержимое каталога и рекурсивно менять владельца каждого файла внутри. Вот демонстрация:

примеры sudo chown -R who_else:group2

Мы можем снова использовать флаг рекурсии, чтобы проверить право собственности на файлы в папке примеров.

Примеры ls -l -R

Изменить владельца файла с помощью UID

Системные администраторы, управляющие большим количеством пользователей, быстро устанут постоянно вводить имена пользователей. Единственная опечатка в любом из имен приводит к ошибке при использовании chown, что значительно замедляет работу.

Лучшей альтернативой является использование идентификатора пользователя. UID — это четырехзначный номер, присваиваемый каждому созданному пользователю, начиная с 1000 и выше. Это гораздо проще вводить, чем строку, и вероятность ошибок гораздо меньше.

Чтобы использовать этот метод, просто замените имя пользователя на UID:

sudo chown 1001 example.txt

Если вы не знаете UID пользователя, вы можете быстро проверить его с помощью команды id. Просто введитеid -u имя пользователя, чтобы увидеть уникальный идентификатор этого пользователя.

Этот метод можно распространить и на имена групп. Чтобы получить UID группы входа пользователя и других групп, к которым он принадлежит, используйте команду id без флага -u.

идентификатор who_else

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

sudo chown 1001:1003 example.txt

Что еще можно сделать с помощью команды chown?

Мы уже продемонстрировали большинство распространенных вариантов использования chown. Теперь вы можете изменять пользователей и группы, владеющие файлом, различными способами. Но это не полный предел возможностей команды..

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

Полезен ли Чоун?

Если вы являетесь единственным пользователем своего компьютера, вам никогда не понадобится использовать chown. Но если вы используете систему Linux в профессиональных целях, будь то коммерческий сервер или университетский компьютер, то освоение команды chown (в дополнение к chmod ) имеет первостепенное значение.

Возможность назначать и удалять файлы пользователям и группам необходима для поддержания строгих границ в многопользовательских системах. Самое лучшее в chown — это его гибкость: вы можете работать с отдельными файлами или целыми каталогами с помощью одной команды.

Вы также можете назначить право собственности пользователям и группам отдельно или в комбинированном заявлении. Использование с более удобными UID упрощает работу даже с самыми сложными иерархиями пользователей.

.

Похожие сообщения:


5.08.2022