Какую команду я должен использовать, чтобы удалить пользователя из группы в Debian?
При добавлении пользователя в группу это можно сделать с помощью:
usermod -a -G group user
Однако я не смог найти подобную команду (принимающую группу и пользователя в качестве аргументов) для удаления пользователя из группы. Самое близкое, что я мог получить:
usermod -G all,existing,groups,except,for,group user
Есть ли какая-либо команда, подобная usermod OPTION group user
OPTION, для опции usermod
(или аналогичной программы) удаления пользователя из группы?
Ответы:
Вы можете использовать
gpasswd
:тогда новая конфигурация группы будет назначена при следующем входе в систему, по крайней мере, в Debian. Если пользователь вошел в систему, эффекты команды не видны сразу.
источник
gpasswd -a user group
добавление пользователя в группу также кажется более приятным, особенно если опечатка сделана, а-a
опция пропущена.usermod -g user user
затем попробуйте удалить их.В Debian
adduser
пакет содержитdeluser
программу, которая удаляет пользователя из группы, если вы передаете оба аргумента:Если вашего дистрибутива нет
adduser
, вы можете редактировать/etc/group
и/etc/gshadow
вручную.источник
vigr
иvipw
. Очень полезно, если страницы слишком далеко :)/etc/group
запустить,grpconv
чтобы обновить,/etc/gshadow
а не редактировать его.sudo deluser jenkins admin
/ usr / sbin / deluser: вы не можете удалить пользователя из его основной группы.usermod
или,vipw
чтобы изменить основную группу пользователя. Этот вопрос был о дополнительных группах.adduser $user $group
команда вместоusermod -x -y -z -...
.удаляет все вторичные / дополнительные группы из имени пользователя , оставляя их в качестве члена только их основной группы. это работало в солярисе 5.9
источник
Это подход «старой школы» ...
Большинство систем * nix хранят информацию о группе в виде простого текстового файла
/etc/group
, гдекаждая строка содержит поля
разделены
:
символом.Теперь предположим, что вы хотите удалить пользователя
thisuser
из группы с именемthatgroup
. Начните с резервного копирования/etc/group
, затем используйте редактор по своему усмотрению с привилегиями su, чтобы отредактировать файл/etc/group
и удалитьthisuser
ссылку изthatgroup
строки, например,оригинальная строка примерно такая:
thatgroup:x:1274:someuser,thisuser,anotheruser
после редактирования следует оставить так:
thatgroup:x:1274:someuser,anotheruser
Как и во всех других ответах, это не повлияет на текущий сеанс (ы) пользователя, если таковые имеются (то есть, если пользователь в настоящее время вошел в систему). Изменение вступит в силу при следующем входе пользователя в систему.
источник
vigr
уже упоминалось для редактирования/etc/group
вручную. На моих страницах руководства написано, что имена пользователей разделяются запятыми, а не двоеточиями. Перезагрузка не обязательна, вам просто нужно повторно войти (или использоватьnewgrp
).Вы можете использовать приведенную ниже команду для дистрибутивов SUSE (и, очевидно, других ).
где
group
группа, из которой вы хотите удалить пользователя иuser_name
пользователя, которого вы хотите удалить из группы. Например,источник
-R
опция, но это означает что-то другое. Это не Linux, я думаю.-R
странице руководства написано: «-R, --root CHROOT_DIR Применить изменения в каталоге CHROOT_DIR и использовать файлы конфигурации из каталога CHROOT_DIR.»sudo usermod -R admin jenkins
usermod: неверный путь к chroot 'admin'Рассмотреть возможность:
abc2
имя группы:
newgroup11
Задача: удаление пользователя
abc2
из группыnewgroup11
** Пожалуйста, поправьте меня, если я ошибаюсь. **
источник
usermod -G newgroup11 abc2
поставит вас во вторичную группуnewgroup11
. Поскольку основная группа естьabc2
, вы окажетесь в обеих группах.usermod -g abc2 abc2
приводитnewgroup11
к удалению из вторичных групп, потому что он больше не упоминается. Таким образом, для трех или более разных групп этот метод не будет работать. Посмотрите другие ответыgpasswd
для лучшей команды.Вы можете удалить пользователя из группы, выполнив команду usermod без опции -a. Например, выполнив «usermod -G group1 username», вы добавите пользователя в группу group1 и удалите его из любых других групп, где он находится. Помните, что вы можете держать пользователя в различных группах, перечисляя имена групп, разделенные запятой.
источник
Чтобы продолжить использовать usermod в дистрибутиве (например, Fedora), у которого нет опции удаления, где user = bob и group = deletethisgroup, команда будет выглядеть так:
Каналы (1) получают все записи группы, к которым принадлежит пользователь, (2) вынимают ту, которую необходимо удалить, (3) возвращают первый столбец (имя группы), заменяют символ новой строки запятой и удаляют запятую.
Конечно, вы можете поместить все это в скрипт bash, который принимает пользователя и группу для удаления в качестве параметров. awk можно использовать для сокращения конца, но я хотел придерживаться grep, cut, tr и sed.
источник
gpasswd -d bob deletethisgroup
доступна. Любая причина, почему вы не используете его?gpasswd
потому, что она тесно связана/etc/passwd
, а вместо этого управляет группами. В отличие от простойpasswd
команды, которая просто контролирует пароли, онаgpasswd
также может использоваться для управления членством в группе. Групповой пароль не требуется, если вы являетесь пользователем root или администратором группы.gpasswd $group
ее помощью вы можете установить пароль группы, который вызывает проблему безопасности, о которой вы упоминали. Однако вы также не можете иметь пароль и использовать егоgpasswd -d $user $group
для удаления пользователя, как описано в первом комментарии и принятом ответе. Обратите внимание, что эта команда не запрашивает групповой пароль и не изменяет и не требует его.Предположим, что username = student и groupname = research , поэтому для удаления
student
пользователя изresearch
группы необходимо сделать следующее:источник
Решение, если вы используете CSH, по любой причине.
источник
Для удаления пользователя из группы gpasswd - лучшая утилита для этого IMO.
Пример команды:
* Справочная информация *
источник