Группы в Linux: как легко добавить пользователя и открыть ему новые возможности
Вы когда-нибудь сталкивались с ситуацией, когда коллеге нужно дать доступ к общему файлу, а система упорно говорит "доступ запрещен"? Или вам самим не хватает прав для установки программы? Всё это решается одной грамотной командой в терминале.
Linux — это многопользовательская система, где безопасность построена на правах доступа. И группы пользователей — ваш главный инструмент для тонкой настройки этих прав. Они позволяют объединять пользователей и наделять их общими привилегиями.
Хотите, чтобы ваш коллега мог работать с проектом в общем каталоге? Добавьте его в нужную группу. Нужно дать кому-то право на выполнение административных задач? Группа sudo (или wheel) к вашим услугам.
Мы не только покажем, как это делается в командной строке с помощью мощной команды usermod, но и разберем подводные камни. Одна неверная опция — и вы можете случайно лишить себя прав суперпользователя! Вы узнаете, чем отличается основная группа от дополнительных и как управлять ими по отдельности.
А для тех, кто не дружит с терминалом, есть и графический способ. Мы расскажем, какие утилиты для этого существуют в Ubuntu и CentOS.
Перестаньте бороться с системой и начните ею управлять. Освойте управление группами — и вы откроете для себя новый уровень контроля и гибкости в работе с Linux. Готовы стать администратором своей системы? Всё необходимое ждет вас в полной статье.
Операционная система Linux изначально планировалась как многопользовательская система. Для управления правами доступа для каждого из пользователей используется три флага: чтение, запись и выполнение. Но этого было недостаточно, поэтому были придуманы группы пользователей Linux. С помощью групп можно дать нескольким пользователям доступ к одному ресурсу.
Файлу присваивается группа, для нее описываются права, затем в эту группу вступают пользователи, чтобы получить доступ к файлу. Читайте подробнее про все это в статье группы Linux. А в этой статье мы рассмотрим как добавить пользователя в группу linux.
Содержание статьи
Как добавить пользователя в группу Linux
Как я уже сказал, для каждого пользователя существует два типа групп, это первичная, основная для него группа и дополнительные.
- Первичная группа - создается автоматически, когда пользователь регистрируется в системе, в большинстве случаев имеет такое же имя, как и имя пользователя. Пользователь может иметь только одну основную группу;
- Вторичные группы - это дополнительные группы, к которым пользователь может быть добавлен в процессе работы, максимальное количество таких групп для пользователя - 32;
Как обычно, лучше всего будет добавлять пользователя в группу через терминал, поскольку это даст вам больше гибкости и возможностей. Для изменения параметров пользователя используется команда usermod. Рассмотрим ее опции и синтаксис:
$ usermod опции синтаксис
Здесь нас будут интересовать только несколько опций с помощью которых можно добавить пользователя в группу root linux. Вот они:
- -G - дополнительные группы для пользователя;
- -a - добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение;
- -g - установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе.
У команды намного больше опций, но нам понадобятся только эти для решения нашей задачи. Теперь рассмотрим несколько примеров. Например, чтобы добавить пользователя в группу sudo linux используйте такую комбинацию. Обратите внимание, что в некоторых дистрибутивах пользователи с правом доступа к sudo могут находится в групе admin или wheel:
sudo usermod -a -G wheel user
Если вы не будете использовать опцию -a, и укажите только -G, то утилита затрет все группы, которые были заданы ранее, что может вызвать серьезные проблемы. Например, вы хотите добавить пользователя в группу disk и стираете wheel, тогда вы больше не сможете пользоваться правами суперпользователя и вам придется сбрасывать пароль. Теперь смотрим информацию о пользователе:
id user
Мы можем видеть, что была добавлена указанная нами дополнительная группа и все группы, которые были раньше остались. Если вы хотите указать несколько групп, это можно сделать разделив их запятой:
sudo usermod -a -G disks,vboxusers user
Основная группа пользователя соответствует его имени, но мы можем изменить ее на другую, например users:
sudo usermod -g users user
Теперь основная группа была изменена. Точно такие же опции вы можете использовать для добавления пользователя в группу sudo linux во время его создания с помощью команды useradd.
Добавление пользователя в группу через GUI
В графическом интерфейсе все немного сложнее. В KDE добавление пользователя в группу linux выполняется с помощью утилиты Kuser. Мы не будем ее рассматривать. В Gnome 3 возможность управления группами была удалена, но в разных системах существуют свои утилиты для решения такой задачи, например, это system-config-users в CentOS и Users & Groups в Ubuntu.
Для установки инструмента в CentOS выполните:
sudo yum install system-config-users
Дальше вы можете запустить утилиту через терминал или из главного меню системы. Главное окно утилиты выглядит вот так:
Выполните двойной клик по имени пользователя, затем перейдите на вкладку "группы". Здесь вы можете выбрать отметить галочками нужные дополнительные группы, а также изменить основную группу:
Для установки утилиты в Ubuntu запустите такую команду:
sudo apt install gnome-system-tools
Здесь интерфейс будет немного отличаться, утилита будет выглядеть так же, как и системная программа настройки пользователей только появится возможность управления группами Linux.
Выводы
В этой небольшой статье мы рассмотрели как добавить пользователя в группу linux. Это может быть очень полезно для предоставления пользователю дополнительных полномочий и разграничения привилегий между пользователями. Если у вас остались вопросы, спрашивайте в комментариях!