Ответ 1
Вы записали "матовую" учетную запись и обратно после выполнения команды sudo usermod
? Изменения в группах, в которых пользователь находится под UNIX, влияют только на время входа в систему.
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.
Вы записали "матовую" учетную запись и обратно после выполнения команды sudo usermod
? Изменения в группах, в которых пользователь находится под UNIX, влияют только на время входа в систему.
https://superuser.com/questions/272061/reload-a-linux-users-group-assignments-without-logging-out
проверьте, что вне ~
и
newgrp groupname
ИЛИ
su - username
хорошо выполнит трюк ~
В ответ на ваш вопрос, да, вы можете добавить пользователя в группу, не перечисляя их всех. Если вы запустите систему на базе Debian, вы можете сделать это с помощью
sudo adduser matt staff
Утилита adduser
- это просто дружественная оболочка вокруг useradd/usermod и т.д.
Если у вас нет утилиты adduser
, вы все равно можете сделать это с помощью usermod:
sudo usermod -a -G staff matt
Флаг -a
означает append (в отличие от перезаписывания).
Я знаю, что исходный вопрос для Linux, но пользователи OSX могут сделать то же самое с этой командой:
sudo dseditgroup -o edit -a newusertoadd -t user grouptobeaddedto