¿Actualizar membresías de grupo suplementarias sin iniciar sesión nuevamente?


12

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?

Respuestas:


9

Puede comenzar un nuevo inicio de sesión desde su sesión

$ su - your_login

No afecta tu proceso de ejecución. Si está utilizando Xserver, puede iniciar xterm y escribir este comando (solo afecta a esta sesión de terminal). La única forma de hacerlo persistente es finalizar su sesión e iniciarla nuevamente.


En caso de que solo permita la autenticación de clave pública en su servidor, ¿necesitaría importar la clave secreta?
Cyril Duchon-Doris


2

Otros han mencionado " su - $USER" y " newgrp", y pensé que debería mencionar que también debería mirar " sg".


1

Puede usar gpasswdpara un cambio inmediato:

gpasswd -a someuser somegroup

No es necesario crear un nuevo shell o volver a iniciar sesión. Luego verifique la membresía del grupo usando getent:

getent group somegroup

Estás creando el grupo, luego estás buscando ese grupo. Esto no tiene nada que ver con la pregunta discutida: el cambio no es efectivo en su sesión actual.
Str.

1

Tu puedes hacer:

exec su -l $USER

Eso actualiza implícitamente la lista de grupos sin tener que salir de la terminal.


0

Qué pasa con esto (aunque solo cumple con el requisito de que no tendría que volver a iniciar sesión)

exec /bin/bash -l

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.

Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.