Atualizar associações suplementares ao grupo sem fazer login novamente?


12

Pelo meu entendimento, uma sessão do Linux armazena em cache as associações de grupo no login. Então, se uma nova associação de grupo for adicionada (por exemplo, com adduser someuser somegroup), o usuário deverá sair e efetuar login novamente para poder tirar proveito da nova associação.

Minha pergunta é: existe alguma maneira de atualizar as associações de grupos em andamento, sem fazer login novamente, sair do processo atual ou iniciar um novo processo?

Respostas:


9

Você pode iniciar um novo login na sua sessão

$ su - your_login

Não afeta o seu processo de execução. Se você estiver usando o Xserver, poderá iniciar o xterm e digitar este comando (afetar apenas esta sessão do terminal). A única maneira de torná-lo persistente é terminar a sessão e iniciá-la novamente.


Caso você permita apenas a autenticação de chave pública no seu servidor, você precisará importar a chave secreta?
Cyril Duchon-Doris


2

Outros mencionaram " su - $USER" e " newgrp", e achei que deveria mencionar que você também deveria ver " sg".


1

Você pode usar gpasswdpara alteração imediata:

gpasswd -a someuser somegroup

Não é necessário criar um novo shell ou novo logon. Depois, verifique a associação ao grupo usando getent:

getent group somegroup

Você está criando o grupo e depois pesquisando esse grupo. Isso não tem nada a ver com a pergunta discutida - a alteração não é eficaz na sua sessão atual.
Str.

1

Você pode fazer:

exec su -l $USER

Isso implicitamente atualiza a lista de grupos sem precisar sair do terminal.


0

Que tal isso (embora atenda apenas ao requisito de que você não precisaria se registrar novamente)

exec /bin/bash -l

O sinalizador -l assume um novo shell de login e o executivo substitui o shell atual por esse novo. BTW, não digite o nome do shell :-)

Um problema com o uso de newgrp e su, como sugerido anteriormente, é que um novo sub-shell seria criado. Sim, você pode precedê-los com um comando exec também.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.