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

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

У меня есть 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сразу после того, как я добавил пользователя в соответствующую группу?

решение1

Просто дайте пользователю запустить

newgrp wheel

Это запустит новую оболочку с измененным идентификатором группы на wheel. Если вы хотите запустить новую оболочку и завершить предыдущую, используйте

exec newgrp wheel

вместо.

Это связано с тем, что ядро ​​по-прежнему имеет предыдущий набор групп, связанный с текущими запущенными процессами.

Связанный контент