Эффективное управление пользователями и их членством в группах – одна из основных задач системного администрирования Linux и Unix.
Оно гарантирует, что пользователи имеют правильный доступ к ресурсам и данным системы.
Понимая, как создавать пользователей, группы и связывать пользователей с группами, системные администраторы могут установить детальный контроль над тем, кто имеет доступ к каким ресурсам.
В этом руководстве мы расскажем, как добавить пользователя в несколько групп в Linux и Unix.
В этом руководстве мы изучим следующие темы:
- Создание учетных записей пользователей с помощью команды
useradd
. - Создание необходимых групп с помощью команды
groupadd
. - Добавление пользователей в несколько групп с помощью команды
usermod
. - Проверка принадлежности к группе пользователей с помощью команд
id
иgroups
и основные различия между этими двумя командами. - Кроме того, мы узнаем, как добавлять нескольких пользователей в несколько групп.
Для демонстрации мы создадим нового пользователя под именем “test” и добавим его в группы с именами “sysadmin”, “devops” и “management”.
🐧 Как (правильно) изменить UID и GID пользователя / группы в Linux
Создание нового пользователя
Команда useradd
используется для создания новой учетной записи пользователя.
Эта команда добавляет новую учетную запись пользователя в соответствии с параметрами, указанными в командной строке, и значениями по умолчанию в системе.
Она обновляет системные файлы и устанавливает значения по умолчанию для нового пользователя.
Создайте пользователя под именем “test” с помощью команды:
Эта команда создает новую учетную запись пользователя с именем “test”.
Установите пароль для вновь созданного пользователя:
В отличие от команды
adduser
, которая является более интерактивной и удобной для пользователя, командаuseradd
требует вручную указать все параметры, например домашний каталог и оболочку, иначе она будет использовать системные настройки по умолчанию.
Отображение информации о пользователе и группе
Команда id
используется для отображения информации о пользователе и группе для указанного пользователя.
Если имя пользователя не указано, отображается информация о текущем пользователе.
Эта команда очень полезна для проверки прав и членства пользователя.
Она проста и предоставляет краткую информацию о личности пользователя в системе.
Чтобы проверить существующие группы пользователя “test”, мы используем команду id
, как показано ниже:
Эта команда отображает идентификатор пользователя, идентификатор группы и группы, к которым принадлежит пользователь “test”.
Пример вывода:
uid=1001(test) gid=100(users) groups=100(users)
Создание групп
Команда groupadd
используется для создания новой группы.
Группы – это фундаментальный аспект разрешений в Linux/Unix системах.
Используя группы, мы можем задать разрешения сразу для нескольких пользователей.
Создайте группы “sysadmin”, “devops” и “management”:
Эти команды создают новые группы “sysadmin”, “devops” и “management”.
Добавление пользователя в несколько групп
Добавьте пользователя “test” в вышеуказанные группы:
Команда usermod
используется для изменения учетной записи пользователя.
Параметр -a
добавляет пользователя в указанные группы, а параметр -G
указывает группы, в которые нужно добавить пользователя (в данном случае “sysadmin”, “devops” и “management”).
Создание нового пользователя с несколькими группами
В нашем предыдущем примере мы назначили существующего пользователя нескольким группам.
Вы также можете создать нового пользователя и добавить его в несколько групп одной командой.
Для этого нужно выполнить следующую команду:
Вот описание команд:
sudo
– команда запускается с привилегиями суперпользователя (root), что необходимо для создания нового пользователя.useradd
– Эта команда создает новую учетную запись пользователя.-G sysadmin,devops,management
– Этот параметр указывает группы, в которые должен быть добавлен новый пользователь. В данном случае пользователь “test” добавляется в группы “sysadmin”, “devops” и “management”.test
– Это имя пользователя создаваемого пользователя.
С помощью этой единственной команды вы можете выполнить следующие задачи за один шаг:
- Создайте новую учетную запись пользователя с именем “test”.
- Добавьте пользователя “test” в группы “sysadmin”, “devops” и “management”.
Это может быть более эффективным способом создания новой учетной записи пользователя и управления его членством в группах, особенно если пользователю с самого начала нужно быть членом нескольких групп.
🔐 Менеджеры паролей: Переход с LastPass на Bitwarden
Помните, что если вы хотите добавить пользователя в дополнительные группы позже, вы можете использовать команду usermod
, как показано в предыдущем примере:
Система добавит пользователя “test” в группу “additional_group”, не удаляя его из других групп, в которых он уже состоял.
Проверка членства пользователя в группах
Проверьте группы пользователя “test”:
$ id test
Теперь эта команда покажет, что пользователь “test” является членом групп “sysadmin”, “devops” и “management”, в дополнение к любым другим группам, в которых он может состоять.
Пример вывода:
uid=1001(test) gid=100(users) groups=100(users),1000(sysadmin),1001(devops),1002(management)
Мы также можем использовать команду groups
, чтобы показать группы, в которых состоит пользователь.
Если команда используется без аргументов, она показывает группы, к которым принадлежит текущий пользователь.
Если указано имя пользователя, она показывает группы, в которых состоит этот пользователь.
Добавление нескольких пользователей в несколько групп
В системах Linux и Unix можно добавить несколько пользователей в несколько групп, хотя для этого может потребоваться несколько шагов или сценарий, поскольку нет ни одной встроенной команды, которая бы напрямую поддерживала добавление нескольких пользователей в несколько групп одновременно.
Вы можете использовать цикл for
в оболочке для итерации пользователей и групп, добавляя каждого пользователя в каждую группу.
Этот метод удобен, если у вас есть предопределенный список пользователей и групп.
for user in user1 user2 user3; do for group in group1 group2 group3; do sudo usermod -a -G $group $user done done
Этот скрипт перебирает всех пользователей и добавляет их в каждую из перечисленных групп. Команда usermod -a -G $group $user
добавляет пользователя в группу, не удаляя его из других групп.
Обратите внимание, что вы уже должны были создать пользователей и группы перед выполнением вышеуказанной команды.
Этот метод обеспечивает гибкий подход к управлению пользователями и группами в массовом порядке.
Заключение
Умение добавлять пользователей в несколько групп – важный навык для любого системного администратора Linux или Unix.
В этом руководстве мы обсудили, как создавать пользователей и назначать им членство в группах с примерами в Linux.
Мы также объяснили, как добавить несколько пользователей в несколько групп одновременно с помощью сценария цикла for
.
см. также:
- 🐧 Как разрешить или запретить доступ к Sudo для группы на Linux
- 🐧 Как отключить доступ к оболочке для учетной записи пользователя на Linux
- 🐧 Как отключить доступ ‘su’ для пользователей Sudo