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

by itisgood

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

Файл /etc/group определяет членство в группе для каждого пользователя в системе Linux.

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

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

Как создать пользователя Linux

Для целей данного руководства мы создадим пользователя с именем «testuser».

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

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

$ sudo useradd -m testuser

Теперь мы можем создать пароль для этого пользователя:

$ sudo passwd testuser
Changing password for user testuser.
New password: 
BAD PASSWORD: The password contains the user name in some form
Retype new password: 
passwd: all authentication tokens updated successfully.
Я использовал тот же пароль, что и имя пользователя, поэтому получил предупреждение о том, что пароль не должен содержать имя пользователя в какой-либо форме.

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

Сначала мы создадим две новые группы с помощью команды groupadd следующим образом:

$ sudo groupadd testgroup1
$ sudo groupadd testgroup2
Теперь мы добавим пользователя ‘testuser’ в две созданные выше группы, а также добавим в группу ‘root’, используя следующие команды:
$ sudo usermod -a -G root testuser
$ sudo usermod -a -G testgroup1 testuser
$ sudo usermod -a -G testgroup2 testuser
Хорошо, теперь, если мы посмотрим на файл /etc/group и увидим, что testuser является членом всех трех групп.
$ cat /etc/group
root:x:0:testuser
.............
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser

Узнайте группы, к которым принадлежит пользователь

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

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

$ id -nG testuser
testuser testgroup1 testgroup2 root
Как видите, результат очень похож, и эти команды выполняют одно и то же.

Удаление пользователя из группы с помощью usermod

Мы можем удалить пользователя из группы или нескольких групп одновременно, используя команду usermod.

Используя usermod, вы должны указать, в каких вторичных группах вы хотите сохранить пользователя.

Позвольте мне объяснить на примере.

$ groups testuser
testuser : testuser testgroup1 testgroup2 root

Чтобы удалить пользователя «testuser» из групп «testgroup1» и «testgroup2», выполните следующую команду (т.е. оставьте testuser только в группе «root» и его основной группе «testuser»):

$ sudo usermod -G root testuser
Results
$ groups testuser
testuser : testuser root

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

$ sudo usermod -G root,testgroup1 testuser
Results
# groups testuser
testuser : testuser root testgroup1

Удаление пользователя из группы с помощью gpasswd

Другая команда, которая выполняет аналогичные результаты – это gpasswd.

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

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

$ sudo gpasswd -d testuser root
Removing user testuser from group root

$ groups testuser
testuser : testuser testgroup1 testgroup2

$ sudo gpasswd -d testuser testgroup1
Removing user testuser from group testgroup1

$ groups testuser
testuser : testuser testgroup2

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

Мы также можем удалить пользователя из группы, отредактировав файл ‘/etc/group’ вручную.

Эффекты этого метода будут применяться к пользователю после перезагрузки.

Вы можете использовать ваш любимый текстовый редактор для редактирования файла /etc/group:

$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:testuser
testgroup2:x:1003:testuser

$ groups testuser
testuser : testuser testgroup1 testgroup2 root
Теперь мы вручную отредактируем последние две записи, чтобы удалить testuser из testgroup1 и testgroup2 (отредактированный файл должен выглядеть следующим образом):

$ cat /etc/group
.............
sssd:x:993:
sshd:x:74:
chrony:x:992:
vagrant:x:1000:
slocate:x:21:
vboxsf:x:991:
testuser:x:1001:
testgroup1:x:1002:
testgroup2:x:1003:
Изменения вступят в силу после перезагрузки, и теперь пользователь был удален из этих двух групп:

$ groups testuser
testuser : testuser root

Заключение

В этом уроке мы узнали, как удалить пользователя из группы с помощью usermod, gpasswd, а также вручную из файла /etc/group.

Эти инструкции можно использовать в любой системе Linux, такой как Ubuntu, CentOS, Fedora и многих других.

Если у вас есть какие-либо вопросы, пожалуйста, сообщите нам об этом в комментариях ниже.

You may also like

2 комментария

Иван 02.04.2020 - 05:19

Внимание: Давать root права другому пользователю очень опасно, так как этот пользователь получает возможность делать абсолютно все, что в свою очередь может доставить немало неприятностей, если его аккаунт будет взломан. Чтобы создать пользователя с абсолютно теми же правами что и пользователь root, мы должны назначить ему тот же ID пользователя, что у root (

Reply
itisgood 02.04.2020 - 08:41

Это как?

Reply

Leave a Comment