Existe alguma maneira no Linux de atualizar as propriedades do usuário / grupo sem ter que logar novamente?

22

Depois de editar / etc / group e adicionar um usuário a grupos aos quais ele não pertence, o usuário não poderá usar os privilégios recém-adquiridos, a menos que inicie uma nova sessão.

Existe um comando para atualizar as propriedades do usuário / grupo em uma sessão em andamento?

    
por wonea 22.03.2010 / 15:27

2 respostas

14

No nível do kernel, a associação ao grupo é uma propriedade de cada processo. A menos que tenha o recurso apropriado (CAP_SETGID, se não me engano), ou seja, privilégios de root para todos os propósitos e propósitos, um processo não pode pertencer a um novo grupo.

Um usuário não existe como um objeto no nível do kernel; apenas processos (e arquivos). Um processo tem um uid (efetivo e outros) e uma lista de ids de grupo.

Quando você está adicionando um usuário a um grupo, o kernel não tem idéia do que isso significa. Só sabe, indiretamente, que na próxima vez que / bin / login ou / usr / bin / newgrp for executado, um processo com esse ID de usuário terá um novo id de grupo em sua lista.

Então, para responder a sua pergunta, se você estiver falando de uma sessão do Gnome ou do KDE, você deve reiniciá-la. Ou se você se importa apenas com o resultado de um comando no que diz respeito ao novo grupo, você pode usar o newgrp que acabei de mencionar. Ele iniciará um novo shell com o grupo recém-adicionado.

    
por 15.06.2010 / 12:19
5

Eu li antes que o comando newgrp faz isso, mas apenas para o shell atual. Não parece haver uma alternativa melhor do que sair e voltar novamente.

    
por 22.03.2010 / 15:30