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

Я хочу добавить пользователя Apache (www-data) в группу audio. Я прочитал man-страницу для useradd, но мне не повезло. Я запускаю xubuntu 11.10. Вот что я делаю:

$ sudo useradd -G audio www-data
useradd: user 'www-data' already exists

Если я не укажу параметр -G, bash, распечатает справочную информацию для useradd:

$ sudo useradd  audio www-data
Usage: useradd [options] LOGIN
Options: -b, --base-dir BASE_DIR       base directory for the home directory...

Мне не ясно, с какой страницы я должен использовать эту функцию, чтобы сделать эту работу.

562 голоса | спросил Sparky1 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 22:21:54 +0400 2011, 22:21:54

6 ответов


871

Команда useradd попытается добавить новую пользователь. Поскольку ваш пользователь уже существует, это не то, что вы хотите.

Вместо этого: Чтобы изменить существующего пользователя, например добавить этого пользователя в новую группу, используйте usermod .

Попробуйте следующее:

usermod

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

  • Переключатель sudo usermod -a -G groupName userName (append) необходим. В противном случае пользователь будет удален из любых групп, а не из списка.

  • Переключатель -a принимает список дополнительных групп, разделенных запятыми, для назначения пользователю.

ответил dpendolino 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 22:33:28 +0400 2011, 22:33:28
189

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

sudo adduser user group

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

sudo deluser user group
ответил Bai 12 Jpm1000000pmThu, 12 Jan 2012 17:09:05 +040012 2012, 17:09:05
46

После добавления к существующему пользователю:

usermod -a -G group user  

Вам может потребоваться выйти и войти , чтобы получить разрешения групп от /etc/group.

ответил Amos Folarin 22 FebruaryEurope/MoscowbFri, 22 Feb 2013 21:16:26 +0400000000pmFri, 22 Feb 2013 21:16:26 +040013 2013, 21:16:26
24

Обычно я использую

sudo gpasswd -a myuser mygroup
ответил enzotib 15 22011vEurope/Moscow11bEurope/MoscowTue, 15 Nov 2011 22:47:08 +0400 2011, 22:47:08
4

В Ubuntu, поскольку вход в систему как root не включен пользователи из группы sudo могут повышать привилегии для определенных ограниченных команд. Любая привилегированная команда должна быть добавлена ​​с помощью sudo, чтобы повысить привилегию.

sudo usermod -a -G group user

добавит существующего пользователя user в дополнительную группу с именем group . Основная группа пользователя останется без изменений.

ответил Debra Butcher McCusker 26 FebruaryEurope/MoscowbFri, 26 Feb 2016 00:58:06 +0300000000amFri, 26 Feb 2016 00:58:06 +030016 2016, 00:58:06
1

Я отправляю это как ответ, потому что у меня недостаточно репутации для комментариев. Как упоминалось в @ dpendolino, для того, чтобы действия этой команды сохранялись:

sudo usermod -a -G groupName userName

... вам нужно снова выйти /войти.

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

$ sudo su -
# su [userName]
$ groups

Пояснение:

  • sudo su - предоставит вам корневую оболочку
  • su [userName] возвращает вас в оболочку с вашим пользователем.
  • groups при запуске теперь покажет группу, добавленную с помощью команды usermod -aG

В моем случае я пытался добавить группу «докер» к моему пользователю

До:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd

После:

$ groups
userName adm cdrom sudo dip plugdev lpadmin sambashare wireshark lxd docker
ответил bluemorpho 25 MarpmSun, 25 Mar 2018 20:49:50 +03002018-03-25T20:49:50+03:0008 2018, 20:49:50

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

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132