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

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

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

Вот руководство для начала.

Как проверить право собственности(Ownership) на файл(A File) ?

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

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

ls -l пример.txt

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

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

sudo chown Someone_else пример.txt

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

В данном конкретном случае это становится:

sudo chown :group2 пример.txt

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

sudo chown me:group1 пример.txt

Смена владельца (Ownership)нескольких файлов(Multiple Files) с помощью Chown

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

sudo chown Someone_else:group2 example1.txt example2.txt

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

ls -l пример1.txt пример2.txt

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

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

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

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

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

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

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

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

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

пример sudo chown 1001.txt

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

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

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

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

sudo chown 1001:1003 пример.txt

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

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

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

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

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

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

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



About the author

Я Windows MVP и работаю с Windows с 2007 года. Мой опыт включает разработку программного обеспечения, оборудования и звука, а также приложений для Windows. Я всегда ищу лучшие способы улучшить взаимодействие с пользователем в своей работе, поэтому, если вам нужна помощь в проектировании или разработке программного приложения, я определенно могу предложить свои услуги.



Related posts