¿Cómo determinar el usuario y el grupo de un demonio en Ubuntu?

30

¿Cómo puedo verificar el usuario y el grupo para el nginxdemonio en Ubuntu?

¿O cuál es la sintaxis para encontrar el usuario y el grupo de un demonio que se ejecuta en Ubuntu?

Prakash Moturu
fuente
1
No entiendo la pregunta. Parece que has encontrado bien al usuario y al grupo para el demonio nginx.
Der Hochstapler
cómo encontrar el usuario y el grupo para el nginx deamon
Prakash Moturu

Respuestas:

38

Simplemente use psmientras se está ejecutando:

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 puede ver en la primera columna, el proceso maestro inicial de nginx se inicia con la rootcuenta de usuario. Este proceso generará los trabajadores bajo la www-datacuenta de usuario. Este sería el que te importa.

Si nginxno se está ejecutando, también puede extraer la información del archivo de configuración de la siguiente manera:

oliver@ubuntuServer:~$ grep user /etc/nginx/nginx.conf
user www-data;
Der Hochstapler
fuente
Entonces, si quiero reiniciar nginx en este caso, ¿debo hacerlo con el rootusuario o el www-datausuario? A veces me sale un open() "/run/nginx.pid" failed (13: Permission denied)...
Augustin Riedinger
@AugustinRiedinger Probablemente deberías usarsudo service nginx restart
Der Hochstapler
17

Para responder la parte "y grupo" de la pregunta para el proceso en ejecución, use también el especificador de formato supgrp (nombres de grupos suplementarios). Tratar:

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

ps -eo user,comm | grep nginxle dará el usuario que ejecuta nginx.

topo también htoppuede usarse para encontrar al usuario de un proceso.

entonces puede encontrar el grupo de usuarios que usa: groups USERNAME

Mengdi Gao
fuente
cómo eliminar la raíz del usuario nginx www-data nginx www-data nginx www-data nginx www-data nginx
Prakash Moturu
¿Por qué quieres eliminar usuario www-data? ejecutar el servidor web demonio con este usuario es el resultado esperado. ok, puedes borrarlo usando el userdelcomando.
Mengdi Gao
1
Sin embargo, tenga en cuenta que los grupos efectivos y complementarios de un proceso en ejecución pueden no coincidir con los de la cuenta de usuario por varias razones. Dada la CAP_SETGIDcapacidad (que normalmente tiene la raíz), el proceso puede modificar tanto el GID efectivo como la lista de grupos complementarios. Debido a esto, la pssolución es mejor.
WGH
1

Siempre hago 'ps aux | grep lo que sea 'pero no soy administrador. Si lo anterior es correcto y 'ps' le dice lo que necesita saber, hágalo. Luego debe hacer 'kill ###' no 'kill name' (### significa, por ejemplo, 17119 desde arriba). Asumiendo que quieres matarlo. Es demonio, no demonio, por cierto.

conspiritech
fuente