Как определить пользователя и группу демона в Ubuntu?

30

Как я могу проверить пользователя и группу на наличие nginxдемона в Ubuntu?

Или каков синтаксис для поиска пользователя и группы для демона, работающего в Ubuntu?

Пракаш Мотуру
источник
1
Я не понимаю вопроса. Похоже, вы отлично узнали пользователя и группу для демона nginx.
Der Hochstapler
как найти пользователя и группу для nginx deamon
Prakash Moturu

Ответы:

38

Просто используйте, psпока он работает:

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

Как видно из первого столбца, начальный основной процесс nginx запускается с rootучетной записью пользователя. Этот процесс порождает рабочих под www-dataучетной записью пользователя. Это будет тот, о котором ты заботишься.

Если nginxон не запущен, вы также можете извлечь информацию из файла конфигурации следующим образом:

oliver@ubuntuServer:~$ grep user /etc/nginx/nginx.conf
user www-data;
Der Hochstapler
источник
Так что, если я хочу перезапустить nginx в этом случае, мне нужно сделать это с rootпользователем или www-dataпользователем? Иногда я получаю open() "/run/nginx.pid" failed (13: Permission denied)...
Августин Ридингер
@AugustinRiedinger Вы, вероятно, должны использоватьsudo service nginx restart
Der Hochstapler
17

Чтобы ответить на часть вопроса «and group» для запущенного процесса, используйте также спецификатор формата supgrp (имена дополнительных групп). Пытаться:

 ps -eo pid,comm,euser,supgrp | grep nginx
jwd630
источник
1

ps -eo user,comm | grep nginxдаст вам пользователь, который работает nginx.

topили htopможет быть использован, чтобы найти пользователя процесса тоже.

тогда вы можете найти группу пользователей: groups USERNAME

Мэнди Гао
источник
как удалить userroot nginx www-data nginx www-data nginx www-data nginx www-data nginx
Пракаш Мотуру
почему вы хотите удалить пользователя www-data? ожидаемый результат запуска демона веб-сервера с этим пользователем. хорошо, вы можете удалить его, используя userdelкоманду.
Мэнди Гао
1
Однако обратите внимание, что эффективные и дополнительные группы работающего процесса могут не совпадать с группами пользователей по разным причинам. Учитывая CAP_SETGIDвозможность (которую обычно имеет root), процесс может изменять как эффективный GID, так и список дополнительных групп. Из-за этого psрешение лучше.
РГГ
1

Я всегда делаю 'ps aux | grep что угодно, но я не администратор. Если вышеприведенное верно и «ps» говорит вам, что вам нужно знать, сделайте это. Затем вы должны сделать «убить ###», а не «убить имя» (### означает, например, 17119 сверху). Предполагая, что вы хотите убить его. Это демон, а не демон, кстати.

conspiritech
источник