42

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?

2
  • 1
    I don't understand the question. You seem to have found out the user and group for the nginx daemon just fine. Mar 9, 2012 at 13:12
  • how to find the user and group for the nginx deamon Mar 9, 2012 at 13:13

4 Answers 4

51

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;
3
  • So if I want to restart nginx in this case, I need to do it with root user or www-data user? Sometimes I get a open() "/run/nginx.pid" failed (13: Permission denied)... Apr 21, 2016 at 13:19
  • @AugustinRiedinger You should probably use sudo service nginx restart Apr 21, 2016 at 14:08
  • Instead of grep nginx | grep -v grep, I like to do grep [n]ginx, which keeps it from matching its own process listing. Just a fun tip.
    – porglezomp
    Mar 20, 2020 at 6:01
21

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
2

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.

1

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

3
  • how to delete the userroot nginx www-data nginx www-data nginx www-data nginx www-data nginx Mar 9, 2012 at 13:21
  • why you want to delete user www-data? running web server daemon with this user is expected result. ok, you can delete it uses userdel command.
    – Mengdi Gao
    Mar 9, 2012 at 13:27
  • 1
    Note, however, that effective and supplementary groups of a running process may not match these of user account for various reasons. Given CAP_SETGID capability (which root usually has), process can modify both effective GID and supplementary group list. Because of this, ps solution is better.
    – WGH
    Jun 7, 2016 at 20:37

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .