Добавить пользователя в группу, но не отображается при запуске "id" - PullRequest
22 голосов
/ 24 сентября 2011

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

sudo usermod -G adm,dialout,cdrom,plugdev,lpadmin,admin,sambashare,staff matt

(дополнительный вопрос, есть ли способ добавить себя в группу, не перечисляя все остальные группы, членом которых вы являетесь?)

Еслия проверяю / etc / groups, я вижу

staff:x:50:matt

и то же самое для / etc / shadow

staff:*::matt

, однако, если я запускаю группы или id, я не являюсь членом персонала.Кроме того, я не могу вносить изменения в что-либо в / usr / local / lib / R.

Ответы [ 4 ]

48 голосов
/ 24 сентября 2011

Вы выполнили вход и возвращение учетной записи «matt» после выполнения команды sudo usermod?Изменения в группах, в которых находится пользователь под Unix, вступают в силу только во время входа в систему.

15 голосов
/ 14 мая 2014

https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out

проверьте, что ~

оба

newgrp groupname

ИЛИ

su - username

хорошо справятся с задачей ~

4 голосов
/ 09 февраля 2012

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

sudo adduser matt staff

Утилита adduser - это просто дружественная оболочка для useradd / usermod и т. Д.

Если у вас нет утилиты adduser, вы можете сделать это с помощью usermod:

sudo usermod -a -G staff matt

Флаг -a означает добавление (в отличие от перезаписи).

0 голосов
/ 05 июля 2013

Я знаю, что оригинальный вопрос для Linux, но пользователи OSX могут сделать то же самое с этой командой:

sudo dseditgroup -o edit -a newusertoadd -t user grouptobeaddedto
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...