Cómo permitir ejecutar su instantáneamente después de agregar al usuario al grupo apropiado

8

Tengo el suejecutable con los siguientes permisos:

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

Cuando inicio sesión como usuario, no en el wheelgrupo e intento ejecutar su, aparece un error, que es correcto:

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

Después de eso agrego este usuario al wheelgrupo desde root:

bash-4.2# usermod -a -G wheel user

Pero para la misma sesión de terminal todavía no puedo ejecutar su:

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

Para las nuevas sesiones puedo correr su. ¿Cómo permitir que se ejecute suinstantáneamente después de agregar al usuario al grupo apropiado?

usuario4035
fuente
1
La newgrprespuesta de Joseph es correcta, pero se aplica SOLAMENTE al shell en el que lo ejecuta, por lo que si tiene varios shells ejecutándose, es fácil olvidar en qué se ha ejecutado newgrpy cuáles no. Puede ser más simple / fácil cerrar sesión e iniciar sesión nuevamente.
cas

Respuestas:

8

Simplemente haga que el usuario ejecute

newgrp wheel

Esto iniciará un nuevo shell con la ID del grupo cambiada a la de wheel. Si desea iniciar un nuevo shell y eliminar el anterior, use

exec newgrp wheel

en lugar.

Esto se debe a que el núcleo todavía tiene el grupo anterior asociado con los procesos que se ejecutan actualmente.

Joseph R.
fuente
¿Cómo puedo ejecutar en el emulador de terminal gráfico? Cuando corro newgrp wheelcomo usuario, me pide una contraseña. Incluso cuando escribo contraseña de root, que dice: Contraseña no válida
user4035
@ user4035 ¿Estamos hablando de un entorno en red con un mecanismo de autenticación como NIS / LDAP? Si ese es el caso, puede ser que las nuevas asociaciones de grupo aún no se hayan propagado correctamente a las máquinas cliente.
Joseph R.
No, es mi máquina local. Me conecto como usuario, luego ejecuto X Session, luego inicio un terminal y ejecuto suallí para cambiar a root. Intenté ejecutar "newgrp wheel", pero me pide una contraseña: bash-4.2$ newgrp wheel Password: la contraseña de root no funciona
user4035
@ user4035 Según la página de manual, esta será la contraseña del usuario, no la contraseña de root. Esto es lógico, ya que esto es básicamente lo mismo que un nuevo inicio de sesión.
Nils
2
Tenga en cuenta que esta respuesta es inexacta ya que el efecto de newgrp wheelno es permitir que "agregar al usuario al grupo de ruedas" surta efecto, el efecto es que el GID primario del usuario cambió, lo que es fundamentalmente diferente, por ejemplo, los archivos recién creados tendrán nuevo GID.
Jakub Klinkovský