У меня есть su
исполняемый файл со следующими разрешениями:
bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14 2012 ./su
Когда я вошел в систему как пользователь, а не в wheel
группе и попытался запустить su
, я получаю ошибку, которая является правильной:
bash-4.2$ su
bash: /bin/su: Permission denied
После этого я добавляю этого пользователя в wheel
группу из root
:
bash-4.2# usermod -a -G wheel user
Но для той же терминальной сессии я все еще не могу запустить su
:
bash-4.2$ su
bash: /bin/su: Permission denied
Для новых сессий я могу бежать su
. Как разрешить запуск su
сразу после добавления пользователя в соответствующую группу?
permissions
su
user4035
источник
источник
newgrp
Ответ Джозефа верен - но он применяется ТОЛЬКО к оболочке, в которой вы его запускаете, поэтому, если у вас запущено несколько оболочек, легко забыть, что вы использовали,newgrp
а что нет. Это может быть проще / проще просто выйти и войти снова.Ответы:
Просто запустите пользователя
Это запустит новую оболочку с идентификатором группы, измененным на
wheel
. Если вы хотите запустить новую оболочку и убить предыдущую, используйтевместо.
Это связано с тем, что ядро все еще имеет предыдущий набор групп, связанный с запущенными в данный момент процессами.
источник
newgrp wheel
как пользователь, он запрашивает какой-то пароль. Даже когда яsu
там, чтобы переключиться на root. Я попытался запустить "колесо Newgrp", но он запрашивает какой-то пароль:bash-4.2$ newgrp wheel Password:
пароль root не работаетnewgrp wheel
не позволяет «добавить пользователя в группу колес» для вступления в силу, эффект состоит в том, что основной GID пользователя изменился, что принципиально отличается - например, вновь созданные файлы будут иметь новый GID.