В операционной системе Ubuntu пользователи, которые состоят в группе «sudo», могут выполнять задачи администратора, используя одноименную группе команду — sudo. Сегодня мы рассмотрим, как дать пользователю данную привелегию или же ее отозвать.
Как создать суперпользователя в Ubuntu
Создаем нового пользователя
Для того, чтобы создать нового пользователя воспользуемся командой adduser:
После ввода команды начнется процесс создания пользователя testuser и будет предложено задать для него пароль:
Создание нового пользователя ubuntu
Как мы помним — в консоли Linux пароли не отображаются при печати, даже в виде звездочек. Заполняем пароль и повторным его вводом подтверждаем корректность:
Подтверждаем правильность ввода пароля
После вышеописанных действий система предложит указать дополнительную информацию о пользователе. Данный пункт является необязательным и можно просто оставить все поля пустыми? после чего подтвердить операцию ввода, вписав y в поле ввода:
Заполняем дополнительную информацию о пользователе
Добавляем пользователя в группу sudo
Теперь, когда пользователь создан присоеденим его к группе суперпользователя — sudo:
Присоединяем пользователя Ubuntu к групе sudo
Осталось только проверить, что все прошло успешно. Переключим пользователя на testuser и попробуем выполнить команду whoami от имени суперпользователя:
Смена пользователя и проверка root
Чтобы переключить текущего пользователя обратно на своего — используем команду su имя_пользователя.
Как дать существующему пользователю привелегии суперюзера
Если необходимо добавить уже существующего пользователя в группу sudo нужно выполнить команду:
Как отзвать привелегии суперпользователя
Для того, чтобы сделать пользователя обычным — без прав выполнения команд от имени суперпользователя нужно удалить его из группы sudo. Сделать это можно с помощью следующей команды:
Удаление пользователя из группы sudo
Теперь можно убедиться, что пользователь более не может выполнять команды от имени root:
Проверяем отсутствие прав суперпользователя
Как мы можем видеть — система не позволяет пользователю использовать команду sudo.
При удалении пользователя из группы sudo следует быть внимательным, чтобы не удалить единственного администратора из системы.
В Debian/Ubuntu требуется указывать два флага, а также имя группы, в которую добавляется пользователь, и имя самого пользователя.
-a (—append) — добавление пользователя
-G (—group) — указание группы или групп
Одновременно можно задавать несколько групп разделяя их имена запятыми
usermod -a -G group1,group2,group3 username
Одна группа одноименная пользователю и включающая только его создается автоматически при добавлении пользователя.
Просмотреть список всех групп, в которые входит, например, admin можно выполнив в консоли groups
admin adm cdrom sudo dip plugdev lpadmin sambashare lxd
Ту же информацию можно увидеть в файле /etc/group
adm:x:4:syslog,admin
cdrom:x:24:admin
sudo:x:27:admin
dip:x:30:admin
plugdev:x:46:admin
lpadmin:x:115:admin
admin:x:1000:
sambashare:x:127:admin
lxd:x:131:admin
Однако, при выполнении groups она значительно более наглядна. Команда usermod добавляет вхождение именно в /etc/group.
Операционная система Linux изначально планировалась как многопользовательская система. Для управления правами доступа для каждого из пользователей используется три флага: чтение, запись и выполнение. Но этого было недостаточно, поэтому были придуманы группы пользователей Linux. С помощью групп можно дать нескольким пользователям доступ к одному ресурсу.
Файлу присваивается группа, для нее описываются права, затем в эту группу вступают пользователи, чтобы получить доступ к файлу. Читайте подробнее про все это в статье группы Linux. А в этой статье мы рассмотрим как добавить пользователя в группу linux.
Как добавить пользователя в группу Linux
Как я уже сказал, для каждого пользователя существует два типа групп, это первичная, основная для него группа и дополнительные.
- Первичная группа — создается автоматически, когда пользователь регистрируется в системе, в большинстве случаев имеет такое же имя, как и имя пользователя. Пользователь может иметь только одну основную группу;
- Вторичные группы — это дополнительные группы, к которым пользователь может быть добавлен в процессе работы, максимальное количество таких групп для пользователя — 32;
Как обычно, лучше всего будет добавлять пользователя в группу через терминал, поскольку это даст вам больше гибкости и возможностей. Для изменения параметров пользователя используется команда usermod. Рассмотрим ее опции и синтаксис:
$ usermod опции синтаксис
Здесь нас будут интересовать только несколько опций с помощью которых можно добавить пользователя в группу root linux. Вот они:
- -G — дополнительные группы для пользователя;
- -a — добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение;
- -g — установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе.
У команды намного больше опций, но нам понадобятся только эти для решения нашей задачи. Теперь рассмотрим несколько примеров. Например, чтобы добавить пользователя в группу sudo linux используйте такую комбинацию:
sudo usermod -a -G wheel user
Если вы не будете использовать опцию -a, и укажите только -G, то утилита затрет все группы, которые были заданы ранее, что может вызвать серьезные проблемы. Например, вы хотите добавить пользователя в группу disk и стираете wheel, тогда вы больше не сможете пользоваться правами суперпользователя и вам придется сбрасывать пароль. Теперь смотрим информацию о пользователе:
Мы можем видеть, что была добавлена указанная нами дополнительная группа и все группы, которые были раньше остались. Если вы хотите указать несколько групп, это можно сделать разделив их запятой:
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. Это может быть очень полезно для предоставления пользователю дополнительных полномочий и разграничения привилегий между пользователями. Если у вас остались вопросы, спрашивайте в комментариях!