Добавить пользователя в группу, но не отображаться при запуске "id"

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.

Ответы

Ответ 1

Вы записали "матовую" учетную запись и обратно после выполнения команды sudo usermod? Изменения в группах, в которых пользователь находится под UNIX, влияют только на время входа в систему.

Ответ 3

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

sudo adduser matt staff

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

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

sudo usermod -a -G staff matt

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

Ответ 4

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

sudo dseditgroup -o edit -a newusertoadd -t user grouptobeaddedto