Según tengo entendido, una sesión de Linux almacena en caché sus pertenencias a grupos al iniciar sesión. Luego, si se agrega una nueva membresía de grupo (por ejemplo, con adduser someuser somegroup
), el usuario debe cerrar sesión e iniciar sesión nuevamente para poder aprovechar la nueva membresía.
Mi pregunta es: ¿hay alguna forma de actualizar las membresías de grupo en proceso, sin iniciar sesión nuevamente, salir del proceso actual o comenzar un nuevo proceso?
fuente
No lo creo. Pero puede usar el
newgrp
comando para generar un nuevo shell con el nuevo grupo. Esto no es permanente.Tendrá que desconectar a sus usuarios y luego volver a activarlos.
fuente
su
Otros han mencionado "
su - $USER
" y "newgrp
", y pensé que debería mencionar que también debería mirar "sg
".fuente
Puede usar
gpasswd
para un cambio inmediato:No es necesario crear un nuevo shell o volver a iniciar sesión. Luego verifique la membresía del grupo usando
getent
:fuente
Tu puedes hacer:
Eso actualiza implícitamente la lista de grupos sin tener que salir de la terminal.
fuente
Qué pasa con esto (aunque solo cumple con el requisito de que no tendría que volver a iniciar sesión)
El indicador -l asumiría un nuevo shell de inicio de sesión y el ejecutivo reemplazaría el shell actual con ese nuevo. Por cierto, no escribas mal el nombre del shell :-)
Un problema con el uso de newgrp y su como se sugirió anteriormente es que se crearía un nuevo sub-shell. Sí, también puedes precederlos con un comando exec.
fuente