Como determinar o usuário e o grupo de um daemon no Ubuntu?

30

Como posso verificar o usuário e o grupo para o nginxdaemon no Ubuntu?

Ou qual é a sintaxe para encontrar o usuário e grupo de um daemon em execução no Ubuntu?

Prakash Moturu
fonte
1
Eu não entendo a pergunta. Parece que você descobriu o usuário e o grupo para o daemon nginx.
Der Hochstapler
como encontrar o usuário e grupo para o deamon nginx
Prakash Moturu

Respostas:

38

Basta usar psenquanto estiver em execução:

oliver@ubuntuServer:~$ ps aux|grep nginx|grep -v grep
root     17119  0.0  0.1  57492  1156 ?        Ss   14:22   0:00 nginx: master process /usr/sbin/nginx
www-data 17120  0.0  0.1  57804  1572 ?        S    14:22   0:00 nginx: worker process
www-data 17121  0.0  0.1  57804  1572 ?        S    14:22   0:00 nginx: worker process
www-data 17122  0.0  0.1  57804  1572 ?        S    14:22   0:00 nginx: worker process
www-data 17123  0.0  0.1  57804  1572 ?        S    14:22   0:00 nginx: worker process

Como você pode ver na primeira coluna, o processo principal do nginx inicial é iniciado com a rootconta do usuário. Esse processo gerará os trabalhadores na www-dataconta do usuário. Esse seria o assunto que você mais gosta.

Se nginxnão estiver em execução, você também pode extrair as informações do arquivo de configuração da seguinte maneira:

oliver@ubuntuServer:~$ grep user /etc/nginx/nginx.conf
user www-data;
Der Hochstapler
fonte
Então, se eu quiser reiniciar o nginx nesse caso, preciso fazê-lo com rootusuário ou www-datausuário? Às vezes eu fico um open() "/run/nginx.pid" failed (13: Permission denied)...
Augustin Riedinger
@AugustinRiedinger Você provavelmente deve usarsudo service nginx restart
Der Hochstapler
17

Para responder a parte "e grupo" da pergunta para o processo em execução, use também o especificador de formato supgrp (nomes de grupos suplementares). Experimentar:

 ps -eo pid,comm,euser,supgrp | grep nginx
jwd630
fonte
1

ps -eo user,comm | grep nginxlhe dará o usuário que está executando nginx.

topou também htoppode ser usado para encontrar o usuário de um processo.

então você pode encontrar o grupo de uso de um usuário: groups USERNAME

Mengdi Gao
fonte
como excluir o UserRoot nginx www-data nginx www-data nginx www-data nginx www-data nginx
Prakash Moturu
por que você deseja excluir usuário www-data? a execução de daemon do servidor da web com este usuário é o resultado esperado. ok, você pode deletar ele usa o userdelcomando
Mengdi Gao 9/03/12
1
Observe, no entanto, que grupos efetivos e complementares de um processo em execução podem não corresponder aos da conta do usuário por vários motivos. Dada a CAP_SETGIDcapacidade (que a raiz normalmente possui), o processo pode modificar o GID eficaz e a lista de grupos suplementares. Por isso, a pssolução é melhor.
WGH
1

Eu sempre faço 'ps aux | grep seja o que for ', mas não sou administrador. Se o exposto acima estiver correto e 'ps' indicar o que você precisa saber, faça isso. Então você deve executar 'kill ###' e não 'kill name' (### significa, por exemplo, 17119 de cima). Supondo que você queira matá-lo. É daemon, não Deamon, aliás.

conspiritech
fonte