Безопасно изменить основную группу пользователя в linux

Простой способ добавления и удаления пользователей из групп

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

Для этого вам необходимо установить пакет «gnome-system-tools», который содержит несколько различных утилит. Нас интересует только приложение «Пользователи и группы», но нам все равно нужно установить весь пакет. Для этого выполните следующую команду:

sudo apt install gnome-system-tools

Ответьте «да» на запросы, затем дождитесь загрузки и установки пакетов. После завершения установки запустите приложение «Пользователи и группы».

С левой стороны вы увидите список пользователей вашей системы. Чтобы добавить и удалить пользователей из групп, нажмите «Управление группами». Вы увидите список всех групп, доступных в вашей установке Ubuntu. Чтобы добавить пользователей в группы, нажмите «Свойства» и установите флажок рядом с их именами. Удалить пользователей из групп, сняв флажок.

Как просмотреть активные аккаунты

Вышеприведенная команда позволяет вывести перечень всех юзеров, зарегистрированных в системе. Но что делать, если нужно вывести в Linux список пользователей, которые активны прямо сейчас? Для этого можно воспользоваться следующей командой:

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

Редактирование конфигурационных файлов

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

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

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

gksudo gedit /путь/до/файла

Gedit — это стандартный текстовый редактор Ubuntu.

Однако в диалоге запуска не работает автодополнение, следовательно путь до файла вам придётся набирать вручную, что не всегда удобно. Поэтому можно для запуска текстового редактора от имени суперпользователя использовать терминал, например:

Учтите, что — это чисто консольная утилита, поэтому использовать её в диалоге запуска приложений нельзя, хотя из терминала через неё можно запускать графические приложения. А наоборот, утилита графическая, поэтому её не стоит использовать в терминале, хотя это и не запрещено.

В итоге откроется редактор с возможностью сохранения изменений:

Тут стоит обратить внимание на то, что текстовый редактор запускается из терминала, поэтому если вы во время работы закроете окно терминала, то тут же закроется и запущенный из него Gedit, так что будьте внимательны.

Типы файлов

Однако как минимум в одной группе каждый пользователь состоит всегда. Это так называемая основная группа, по умолчанию она носит такое же имя, как и у самого пользователя.

И именно поэтому и только по этой причине он собственно и является администратором.

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

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

На самом деле права администратора в основном как раз и заключаются в возможности использовать .

Получить список всех пользователей, использующих /etc/passwd файл

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

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

  • Имя пользователя
  • Зашифрованный пароль ( означает, что пароль хранится в файле)
  • Идентификационный номер пользователя (UID)
  • Идентификационный номер группы пользователя (GID)
  • Полное имя пользователя (GECOS)
  • Домашний каталог пользователя
  • Оболочка входа (по умолчанию )

   Если вы хотите, чтобы отобразить только имя пользователя вы можете использовать либо или команды для печати только первое поле, содержащее имя пользователя:
   

Типы групп в Linux

Выделим группы пользователей:

  1. Первичная (основная группа). После регистрации в системе пользователь автоматически попадает в эту группу. Зачастую название основной группы является идентичным имени юзера в Линукс. Пользователь может состоять только в одной первичной группе, без каких-либо исключений из правила.
  2. Вторичные группы. В процессе работы с устройством на базе ядра Linux пользователь может попасть в дополнительные группы. Количество вторичных групп для юзеров системы ограничено. Верхний лимит – 32 шт.

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

Как будет выглядеть синтаксическая структура нужной команды:

Основные опции:

  • -G – вторичные (дополнительные) группы для юзера системы;
  • -a – добавление юзера системы во вторичные группы из параметра, который был указан ранее (-G), вместо замены текущего значения;
  • -g – создание новой первичной группы для юзера системы. В неё попадут все файлы, которые хранятся в домашнем каталоге.

Добавление пользователя в группу на примере

В целом, команда usermod способна предложить пользователю целое множество опций, но мы не станем рассматривать их целиком, ведь для решения актуальной проблемы можно ограничиться тремя опциями, указанными выше. Вместо этого рассмотрим процесс добавления пользователя в группу Линукс на примере. Допустим, нужно добавить пользователя «ya» в группу root.

Здесь:

  • root — имя группы, в которую нужно добавить пользователя;
  • ya — имя пользователя.

Наличие опции «-a» в данной комбинации – это своего рода защита системы от удаления ранее созданных групп. Эта опция должна стоять перед опцией «-G» в обязательном порядке, иначе программа наделает немало бед.

Где найти данные о пользователе Linux?

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

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

Как добавить несколько вторичных групп? Введите комбинацию:

Первичная группа пользователя соответствует его имени, указанному при регистрации в системе. Однако в некоторых случаях может возникнуть необходимость изменить одну группу на другую, например users. Как это должно выглядеть на практике:

Готово! Первичная группа пользователя изменена.

Как добавить пользователя в группу через GUI

Рассмотрим альтернативный метод решения данного вопроса для тех, кто не испытывает положительных эмоций во время работы с терминалом. На этот раз вам потребуется иметь дело с графическим интерфейсом. В данном случае для добавления пользователя в группу Линукс понадобится специальный инструмент – системная утилита system-config-users.

Чтобы установить её в CentOS, задайте такую комбинацию:

Установка завершена! Запустите инструмент через системное меню или при помощи терминала – выберите для себя наиболее удобный способ. Окно программы не перегружено информацией, поэтому вам не составит труда найти здесь нужное имя пользователя. Кликните по нему дважды, перепрыгните на вкладку под названием «Группы». В новом окне вы можете выполнить следующие действия:

  1. Изменить первичную группу;
  2. Выбрать галочками вторичные группы.

Заключение

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

Модифицирование первичной группы пользователя в Linux

Хотя учетная запись пользователя может быть долею нескольких групп, одна из групп всегда является «основной группой», а остальные представляются «вторичными группами». Файлы и папки, созданные пользователем, будут соответствовать первичной команде.

Чтобы изменить основную группу, которой назначен пользователь, запустите бригаду usermod, заменив groupname на имя группы, которую вы хотите сделать основной и username на имя переписной записи пользователя.

Обратите внимание на -g здесь. При использовании маленькой буквы g вы назначаете основную группу

Когда вы используете верхний регистр -G, как указано реке, вы назначаете новую вторичную группу.

Проверьте, существует ли пользователь в системе Linux

Теперь, когда мы знаем, как составить список всех пользователей, чтобы проверить, существует ли пользователь в нашем окне Linux, мы можем просто отфильтровать список пользователей, отправив список по команде grep.

Например, чтобы узнать, существует ли пользователь с именем в нашей системе Linux, мы можем использовать следующую команду:

Если пользователь существует, команда, приведенная выше, напечатает информацию для входа в систему. Если нет вывода, это означает, что пользователь не существует.

Мы также можем проверить, существует ли пользователь, не используя команду, как показано ниже:

   Как и раньше, если пользователь существует, команда отобразит информацию для входа в систему.

Если вы хотите узнать, сколько учетных записей пользователей в вашей системе, перенаправьте вывод в команду:

   Как видно из приведенного выше вывода, моя система Linux имеет 33 учетных записи.

4 мин для чтения 3 способа составить список пользователей в Linux

Главное меню » Операционная система Linux » 3 способа составить список пользователей в Linux

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

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

Вот некоторые советы и рекомендации для пользователей Linux.

Список групп пользователя Linux

Вы сможете посмотреть список групп пользователя Linux двумя основными способами. Это команда id, какую мы уже разбирали в статье о том, как узнать id пользователя Linux, и команда groups. Чтобы вывести всю данные о пользователе, используйте id:

Все группы, созданные в системе, находятся в файле /etc/group. Посмотрев содержание этого файла, вы можете узнать список групп linux, которые уже есть в вашей системе. И вы станете удивлены.

Если вы не введете имя пользователя, по умолчанию будет применено ваше имя. К примеру:

frame@ubuntuServ:$ groups frame adm dialout cdrom floppy audio dip video plugdev lpadmin scanner admin fuse

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

frame@ubuntuServ:$ groups root root : root fuse

Помимо стандартных root и users, здесь есть еще пару десятков групп. Это группы, сделанные программами, для управления доступом этих программ к общим ресурсам. Каждая группа позволяет чтение или запись определенного файла или каталога системы, тем самым регулируя полномочия юзера, а следовательно, и процесса, запущенного от этого пользователя. Здесь можно считать, что пользователь — это одно и то же что процесс, поэтому что у процесса все полномочия пользователя, от которого он запущен.

Удалить пользователя из группы в Ubuntu

Теперь вы знаете, как добавить пользователя в группу в Linux, но как насчет удаления его из группы? Это может варьироваться в разных дистрибутивах Linux, но, к счастью, в Ubuntu легко удалить пользователя из группы.

Команда , как следует из названия, часто используется для полного удаления пользователя. Вы также можете использовать его в Ubuntu для удаления пользователя из группы, а также в других дистрибутивах, таких как Debian, где также доступен пакет. Чтобы удалить пользователя из группы, используйте команду следующим образом:

sudo deluser username groupname

Всегда проверяйте, что имя группы присутствует дважды. Если вы запустите команду без имени группы, она просто полностью удалит пользователя. Например, следующая команда удалит пользователя из группы «sudo».

sudo deluser kwouk sudo

Если вы опустите последний «sudo» в приведенной выше команде, он удалит пользователя «kwouk».

Это может помочь дважды проверить, к каким группам уже назначен пользователь. Для этого просто запустите следующее:

sudo groups username

Несколько советов о перечислении пользователей в Linux

Вы только что увидели три способа просмотра пользователей в Linux. Вот несколько советов, которые помогут вам при работе с списком пользователей.

Список только имена пользователей

У вас уже есть команда compgen для этого, но вам не нужно постоянно ее помнить.

Если мы хотим получить только список имен пользователей в системе, вы можете использовать команду awk или команду cut для фильтрации вывода двух других команд, которые мы видели ранее.

или

Любой из них даст нам отфильтрованный список пользователей, показывая только самый первый столбец с именем пользователя:

Это может быть полезно, если вы хотите знать, существует ли конкретное имя пользователя в системе:

Это вывод:

Список всех подключенных пользователей

Если вы хотите знать какие пользователи в настоящее время вошли в вашу систему Linux, вам нужно использовать простую команду who и это немедленно выведет список текущих имен пользователей с активным сеансом в вашей системе.

В этом случае в списке появится не только список подключенных имен пользователей, но и то, как они подключены, с момента, когда они подключены и откуда они подключены.

В самом первом столбце будет указано, какое это имя пользователя.

Во втором столбце будет указано, к какому типу соединения это относится: если оно обозначено знаком «: X», где X — число, это означает, что используется графический интерфейс пользователя (GUI) или сеанс рабочего стола, например Gnome, XDE и т. д. ; если терминал отображает «pts/X», где X — число, это означает, что это соединение, установленное по протоколу SSH (командная строка).

В третьем столбце будет указано, с каких пор этот сеанс был подключен к серверу (дата и время). В четвертом и последнем столбце будет указано место, откуда он подключен. Если удаленно, будет отображаться IP-адрес, с которого установлено соединение, если локально (например, GUI), будет отображаться «(: X)», где X — это число сеанс в этом случае и будет соответствовать число во втором столбце для этой строки.

Итог

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

Узнаем через команду groups

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

Чтобы посмотреть, какая группа принадлежит конкретному пользователю системы, необходимо указать его имя в виде приставки в исходном варианте команды. Что мы получаем:

Узнаем список групп у пользователя ya.

Это происходит по умолчанию, и объясняется тем, что утилита с одноименным названием groups запускается в обоих режимах (с указанием имени/без указания имени пользователя). С её помощью можно получить общие данные о пользователях различных категорий: root, системные пользователи и обычные пользователи.

Юзер системы может состоять сразу в нескольких группах – это весьма распространенное явление, и удивляться здесь нечему. Эти данные также могут пригодиться в определенных ситуациях, связанных с управлением системой.

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

Заключение

В этой статье представлено несколько стандартных команд, которые позволяют приблизить решение той или иной проблемы. Но ведь не практике все происходит гораздо проще. Пользователь будет действовать ситуационно, а значит, использовать одну конкретную команду (в крайнем случае – несколько базовых команд по очереди).

Обе рассматриваемые команды работают по схожему принципу. Различий в них мало, и они незначительные. Но, возможно, кому-то удобнее пойти именно этим путем.

Теперь понимаете, насколько всё элементарно? Всего пару кликов, и картина полностью проясняется. Чтобы довести управление системой до автоматизма, нужно лишь подробнее изучить некоторые её параметры, и четко понимать свои цели.

Как добавить пользователя в группу Linux

Как я уже сказал, для каждого пользователя существует два типа групп, это первичная, основная для него группа и дополнительные.

  • Первичная группа — создается автоматически, когда пользователь регистрируется в системе, в большинстве случаев имеет такое же имя, как и имя пользователя. Пользователь может иметь только одну основную группу;
  • Вторичные группы — это дополнительные группы, к которым пользователь может быть добавлен в процессе работы, максимальное количество таких групп для пользователя — 32;

Как обычно, лучше всего будет добавлять пользователя в группу через терминал, поскольку это даст вам больше гибкости и возможностей. Для изменения параметров пользователя используется команда usermod. Рассмотрим ее опции и синтаксис:

$ usermod опции синтаксис

Здесь нас будут интересовать только несколько опций с помощью которых можно добавить пользователя в группу root linux. Вот они:

  • -G — дополнительные группы для пользователя;
  • -a — добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение;
  • -g — установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе.

У команды намного больше опций, но нам понадобятся только эти для решения нашей задачи. Теперь рассмотрим несколько примеров. Например, чтобы добавить пользователя в группу sudo linux используйте такую комбинацию:

Если вы не будете использовать опцию -a, и укажите только -G, то утилита затрет все группы, которые были заданы ранее, что может вызвать серьезные проблемы. Например, вы хотите добавить пользователя в группу disk и стираете wheel, тогда вы больше не сможете пользоваться правами суперпользователя и вам придется сбрасывать пароль. Теперь смотрим информацию о пользователе:

Мы можем видеть, что была добавлена указанная нами дополнительная группа и все группы, которые были раньше остались. Если вы хотите указать несколько групп, это можно сделать разделив их запятой:

Основная группа пользователя соответствует его имени, но мы можем изменить ее на другую, например users:

Теперь основная группа была изменена. Точно такие же опции вы можете использовать для добавления пользователя в группу sudo linux во время его создания с помощью команды useradd.

Рейтинг
( Пока оценок нет )
Понравилась статья? Поделиться с друзьями:
Ваша ОС
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: