Полный цикл в digital

Группы и пользователи в Linux

Пользователь может принадлежать к двум типам групп:

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

Файловый список пользователей и групп

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

  • /etc/passwd основная группа пользователей
  • /etc/group дополнительные группы пользователей

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

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

groups

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

groups имя_пользователя

Более подробный вывод дает команда id, покажет идентификатор пользователя uid, основную группу пользователя gid и вторичные группы groups пользователя:

id имя_пользователя

Чтобы напечатать только имена вместо чисел, используйте параметр -n, -g выведет только основную группу а -G все группы:

id -nG имя_пользователя

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

В операционной системе Linux есть специальный файл в котором хранится информация обо всех пользователях. Это /etc/passwd. Записи в файле имеют следующий синтаксис:

имя_пользователя пароль ид ид_группы группа домашний_каталог оболочка

Вместо пароля записывается буква X это было сделано для безопасности. Все пароли пользователей хранятся теперь в другом файле. Остается только набрать команду и вы узнаете список пользователей linux:

cat /etc/passwd

В файле /etc/passwd слишком много лишних данных, если вам нужны только имена пользователей, можно отфильтровать вывод:

sed 's/:.*//' /etc/passwd

Пользователи с ID меньше 1000 системные, они были созданы во время установки некоторых сервисов для более безопасной их работы. Этих пользователей трогать не следует.

Список всех групп

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

less /etc/group

Другой вариант — использовать команду getent которая отображает записи из баз данных настроенных в файле /etc/nsswitch.conf включая базу данных group которую мы можем использовать для запроса списка всех групп. Чтобы получить список всех групп, введите следующую команду:

getent group

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

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

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

Для изменения параметров пользователя используется команда usermod:

usermod опции имя_пользователя
Короткий формат опции Описание
-G Дополнительные группы для пользователя
-a Добавить пользователя в дополнительные группы из параметра -G, а не заменять им текущее значение
-g Установить новую основную группу для пользователя, такая группа уже должна существовать, и все файлы в домашнем каталоге теперь будут принадлежать именно этой группе

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

sudo usermod -a -G группа имя_пользователя

Если вы не будете использовать опцию -a, и укажите только -G, то утилита затрет все группы, которые были заданы ранее, что может вызвать серьезные проблемы.

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

sudo usermod -g группа имя_пользователя

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

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

gpasswd -d имя_пользователя группа
Заполните форму уже сегодня!
Для начала сотрудничества необходимо заполнить заявку или заказать обратный звонок. В ответ получите коммерческое предложение, которое будет содержать индивидуальную стратегию с учетом требований и поставленных задач
Работаем по будням с 9:00 до 18:00. Заявки, отправленные в выходные, обрабатываем в первый рабочий день до 12:00.
Спасибо, ваш запрос принят и будет обработан!
Эйч Маркетинг