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

Если Вы действительно используете telnet протокол (или сырые данные tcp потоки), можно использовать nc -p <source_port>... -t согласовывает опции telnet. У меня есть терминальный сервер ниже этого, принимает соединения Telnet на tcp/2015 и я получу от tcp/31415

# Window 1
[mpenning@hotcoffee ~]$ nc -p 31415 -t 192.168.12.117 2015
????????????????

8024-1(config-if-Po2)#

Проверить...

[mpenning@hotcoffee tshark_wd]$ netstat -an | grep 31415
tcp        0      0 192.168.12.236:31415    192.168.12.117:2015     ESTABLISHED
[mpenning@hotcoffee tshark_wd]$

Это предполагает, что у Вас уже нет локального сокета, слушающего на tcp/31415... если у Вас уже есть локальный сокет tcp, привязал требуемый порт, iptables Ваша единственная опция.

359
20.01.2012, 18:44
10 ответов

Можно использовать gpasswd:

# gpasswd -d user group

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

427
27.01.2020, 19:26
  • 1
    Прекрасный Спасибо! gpasswd -a user group для добавления пользователя группе кажется также более хорошим, особенно если опечатка сделала и -a опция отбрасывается. –  Lekensteyn 20.01.2012, 18:43
  • 2
    Не работает на меня. Я получаю два сообщения: a) Удаление пользователя от группы. b) gpasswd: пользователь не является членом группы. Впоследствии рабочая "членская группа" не показывает изменения. –  geoidesic 15.12.2014, 09:19
  • 3
    @geoidesic необходимо выйти из системы и войти в систему снова для наблюдения эффекта –  Wasif Hossain 03.07.2016, 14:09
  • 4
    Существует ли способ внести изменение, вступают в силу, не имея необходимость повторно входить в систему? –  Andy Fusniak 11.08.2016, 18:49
  • 5
    @geoidesic я получил эти ошибки на Centos 7. Я нашел, что Вы получили это, если Вы пытались удалить пользователя из их группы по умолчанию. Попытайтесь переключить группу по умолчанию с usermod -g user user затем попытайтесь удалить их. –  PanPipes 25.01.2018, 12:55

На Debian, adduser пакет содержит a deluser программа, которая удаляет пользователя из группы, если Вы передаете обоих как аргументы:

deluser user group

Если Ваше распределение не имеет adduser, можно отредактировать /etc/group и /etc/gshadow вручную.

vigr
vigr -s
184
27.01.2020, 19:26
  • 1
    я не знал о программах как vigr и vipw. Очень полезный в случае, если страницы справочника являются слишком далеко :) –  Lekensteyn 20.01.2012, 18:47
  • 2
    С другой стороны, после изменения /etc/group выполненный grpconv обновить /etc/gshadow вместо того, чтобы редактировать его. замена –  Cyrille 20.10.2014, 15:57
  • 3
    sudo deluser jenkins admin /usr/sbin/deluser: Вы не можете удалить пользователя из их основной группы. –  Jonathan 20.10.2014, 20:16
  • 4
    @JonathanLeaders Каждый пользователь должен быть по крайней мере в одной группе. Использовать usermod или vipw изменить основную группу пользователя. Этот вопрос был о дополнительных группах. –  Gilles 'SO- stop being evil' 21.10.2014, 19:44
  • 5
    Хороший. Существует также более простое adduser $user $group команда вместо usermod -x -y -z -.... –  ygoe 11.12.2014, 14:35
usermod -G "" username

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

67
27.01.2020, 19:26
  • 1
    Протестированный в CentOS 6.4; работы. –  aggregate1166877 03.04.2014, 15:13
  • 2
    Работы в Ubuntu 12.04, также. –  aggregate1166877 03.04.2014, 15:22
  • 3
    И это, кажется, лучший способ вынудить вторичные группы к любому списку групп, исключая все не включенные в список группы. –  sage 12.08.2016, 20:53

Можно использовать ниже команды на дистрибутивах SUSE (и, по-видимому, никакие другие).

usermod -R group user_name

где group группа, что Вы хотите удалить пользователя из и user_name пользователь, которого Вы хотите удалить из группы. Например,

usermod -R root imnottheroot
2
27.01.2020, 19:26
  • 1
    Что пакет обеспечивает Вашему usermod двоичному файлу? Я прошу узнавать версию, поскольку мой от shadow-utils-4.1.4.3 не предоставляет-R возможность. –  myroslav 17.10.2013, 13:42
  • 2
    Моя тень 4.1.5.1-5 пакетов (Дуга Linux) действительно имеет -R опция, но это означает что-то еще. Это не Linux, который я предполагаю. –  Lekensteyn 17.10.2013, 17:51
  • 3
    я не уверен, что это будет работать. В странице справочника говорится это -R : "-R, - корневые CHROOT_DIR Применяют изменения в каталоге CHROOT_DIR и используют конфигурационные файлы из каталога CHROOT_DIR". –  MikeKusold 09.07.2014, 02:34
  • 4
    Единственный вид вещей связанных, которые я мог найти, был этой страницей справочника оракула, но это все еще не о том же самом, таким образом, этот ответ должен, возможно, быть удален. –  kyrias 06.10.2014, 01:03
  • 5
    sudo usermod -R admin jenkins usermod: недопустимые chroot соединяют 'администратора' каналом спасибо –  Jonathan 20.10.2014, 20:18
pw groupmod "groupname|gid" -d "username|uid"

Решение, если Вы используете CSH по любой причине.

-1
27.01.2020, 19:26

Это подход "старой школы"...

Большинство *nix-систем содержат информацию о группах в простом текстовом файле /etc/group, где

  • каждая строка содержит поля

    • group_name
    • password
    • GID, и
    • user_list

    delimited by the : символ.

  • поле user_list представляет собой список имен пользователей, разделенных запятыми.

Теперь предположим, что вы хотите удалить пользователя с именем thisuser. из группы, названной этой группой .  Начните с резервного копирования /etc/group, затем используйте редактор ваших предпочтений с su привилегиями . для редактирования файла /etc/group. и удалить ссылку thisuser из строчной записи той же группы , например,

original line - это что-то вроде этого:

та группа:x:1274:someuser,thisuser,другой пользователь

после редактирования должен быть оставлен таким:

та группа:x:1274:someuser,otheruser

Как и все остальные ответы, это не повлияет на текущую сессию(ы) пользователя, если таковые имеются (т.е., если пользователь в данный момент входит в систему).  Изменение вступит в силу при следующем входе пользователя в систему.

14
27.01.2020, 19:26

Рассмотрим:

  • Имя пользователя: ABC2
  • Название группы: Newgroup11

  • Задача: Удаление пользователя ABC2 из группы Newgroup11

[root@home1 ~]# groups abc2
abc2 : abc2
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# groups abc2
abc2 : abc2 newgroup11
[root@home1 ~]# usermod -G newgroup11 abc2
[root@home1 ~]# usermod -G abc2 abc2
[root@home1 ~]# groups abc2
abc2 : abc2

** любезно поправьте меня, если я ошибаюсь. **

1
27.01.2020, 19:26

Чтобы продолжить использование usermod в дистрибутиве (например, Fedora), который не имеет опции remove, где user=bob и group=deletethisgroup, команда будет такой:

usermod -G `cat /etc/group |  grep bob | grep -v deletethisgroup | cut -d ':' -f 1 | tr '\n' ',' | sed 's/,$//'` bob

Трубы (1) получают все записи групп, к которым принадлежит пользователь, (2) удаляют ту, которую нужно удалить, (3) возвращают первый столбец (имя группы), заменяют новую строку запятой и удаляют запятую в конце.

Конечно, вы можете поместить все это в сценарий bash, который принимает пользователя и группу для удаления в качестве параметров. awk может быть использован для сокращения конца, но я хотел придерживаться grep, cut, tr и sed.

0
27.01.2020, 19:26

Предположим, что username=student и groupname=research , поэтому для удаления пользователя studentиз группы researchнеобходимо сделать следующее:

gpasswd -d student research
0
27.01.2020, 19:26

Вы можете удалить пользователей из группы, выполнив команду usermod без опции -. Пример, выполнив

usermod -G group1 username

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

1
27.01.2020, 19:26

Теги

Похожие вопросы