Eu tenho uma conta de nível de serviço para executar meu servidor da web e esse usuário está configurado com /sbin/nologin
.
Normalmente, quando você adiciona um usuário a um grupo, você deve fazer logout e login para usar as novas permissões do grupo.
Gostaria de adicionar este usuário a outro grupo para estender algumas de suas permissões, mas como o usuário do meu servidor da web nunca efetua login, quando ou como o usuário obterá acesso às novas permissões do grupo?
Responder1
Os grupos do processo são definidos pelo programa que muda do usuário root para o usuário alvo antes de executar o programa do processo. Quando um usuário efetua login, o programa que altera o usuário é o programa de login ( login
, su
, sshd
,…) e o programa do processo é o shell do usuário. Para um daemon executado sob o usuário do sistema, o programa que altera o usuário pode ser su
alguma outra ferramenta como o Debianstart-stop-daemon
. Por exemplo, start-stop-daemon
sempre adiciona os grupos suplementares ao processo. O programa de alteração de usuário deve ter lógica para definir tanto o grupo primário do banco de dados do usuário quanto o grupo suplementar do banco de dados do grupo.
Responder2
Com o CentOS 6 nscd
pode estar em execução. Se você não alterou a propriedade do grupo por um comando de alto nível (como usermod
), certifique-se de executar grpconv
para que /etc/gshadow também seja atualizado. Se nscd
estiver em execução, adicione nscd -i group
para invalidar o cache do grupo local. Se você alterou o GID primário, execute nscd -i passwd
.
Confira o resultado com id -a $ACCOUNT
.
Depois disso - reinicie seu serviço.
Responder3
Eu sugiro su - ; /etc/init.d/NAME parar; /etc/init.d/NAME iniciar;
"/etc/init.d/NAME restart" pode não ser suficiente.