Como permitir executar su instantaneamente depois que adicionei o usuário ao grupo apropriado

8

Eu tenho o suexecutável com as seguintes permissões:

bash-4.2# ls -la /bin/su
-rws--s--- 1 root wheel 59930 Sep 14  2012 ./su

Quando estou logado como usuário, não no wheelgrupo e tento executar su, recebo um erro correto:

bash-4.2$ su
bash: /bin/su: Permission denied

Depois disso, adiciono este usuário ao wheelgrupo de root:

bash-4.2# usermod -a -G wheel user

Mas, para a mesma sessão do terminal, ainda não consigo executar su:

bash-4.2$ su
bash: /bin/su: Permission denied

Para as novas sessões eu posso executar su. Como permitir a execução suinstantânea depois que adicionei o usuário ao grupo apropriado?

user4035
fonte
1
A newgrpresposta de Joseph está correta - mas ela se aplica SOMENTE ao shell em que você o executa, portanto, se você tiver várias conchas em execução, é fácil esquecer newgrpem que você está ou não. Pode ser mais simples / mais fácil simplesmente sair e fazer login novamente.
cas

Respostas:

8

Basta ter o usuário executado

newgrp wheel

Isso iniciará um novo shell com o ID do grupo alterado para o de wheel. Se você deseja iniciar um novo shell e eliminar o anterior, use

exec newgrp wheel

em vez de.

Isso ocorre porque o kernel ainda possui o conjunto de grupos anterior associado aos processos atualmente em execução.

Joseph R.
fonte
Como posso correr no emulador de terminal gráfico? Quando executo newgrp wheelcomo usuário, ele solicita uma senha. Mesmo quando eu digito a senha root, ele diz: Senha inválida
user4035 18/13
@ user4035 Por acaso estamos falando de um ambiente de rede com um mecanismo de autenticação como o NIS / LDAP? Se for esse o caso, pode ser que as novas associações de grupos ainda não tenham sido propagadas adequadamente para as máquinas clientes.
Joseph R.
Não, é a minha máquina local. Eu entro como usuário, depois executo o X Session, inicio um terminal e corro supara mudar para o root. Eu tentei correr "roda newgrp", mas ele pede alguma senha: bash-4.2$ newgrp wheel Password: senha de root não trabalho
user4035
@ user4035 De acordo com a página de manual, esta será a senha do usuário - não a senha do root. Isso é lógico, pois é basicamente o mesmo que um novo login.
Nils
2
Observe que esta resposta é imprecisa, uma vez que o efeito de newgrp wheelnão permitir "adicionar o usuário ao grupo de roda" é efetivado, o efeito é que o GID principal do usuário mudou, o que é fundamentalmente diferente - por exemplo, arquivos recém-criados terão o novo GID.
Jakub Klinkovský