How to determine the user and group of a daemon in Ubuntu?

How can I check the user and group for the nginx daemon in Ubuntu?

Or what's the syntax to find the user and group for a daemon running in Ubuntu?


Simply use ps while it is running:

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

As you can see in the first column, the initial nginx master process is started with the root user account. This process will spawn the workers under the www-data user account. This would be the one you care about.

If nginx isn't running, you can just as well pull the information from the configuration file like so:

oliver@ubuntuServer:~$ grep user /etc/nginx/nginx.conf
user www-data;

To answer the "and group" part of the question for the running process, use the supgrp (names of supplementary groups) format specifier too. Try:

 ps -eo pid,comm,euser,supgrp | grep nginx

ps -eo user,comm | grep nginx will give you the user who running nginx.

top or htop can be used to find the user of a process, too.

then you could find the group of a user use: groups USERNAME


I always do 'ps aux | grep whatever' but I'm not an admin. If the above is right and 'ps' tells you what you need to know, do that. Then you have to do 'kill ###' not 'kill name' (### meaning eg 17119 from above). Assuming you want to kill it. It's daemon, not deamon, btw.