Làm cách nào để xác định người dùng và nhóm của một deamon trong Ubuntu?


30

Làm cách nào tôi có thể kiểm tra người dùng và nhóm cho nginxdaemon trong Ubuntu?

Hoặc cú pháp để tìm người dùng và nhóm cho một deamon đang chạy trong Ubuntu là gì?


1
Tôi không hiểu câu hỏi. Bạn dường như đã tìm ra người dùng và nhóm cho dain nginx tốt.
Der Hochstapler

Cách tìm người dùng và nhóm cho nginx deamon
Prakash Moturu

Câu trả lời:


38

Đơn giản chỉ cần sử dụng pstrong khi nó đang chạy:

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

Như bạn có thể thấy trong cột đầu tiên, quy trình chính nginx ban đầu được bắt đầu với roottài khoản người dùng. Quá trình này sẽ sinh ra các công nhân dưới www-datatài khoản người dùng. Đây sẽ là một trong những bạn quan tâm.

Nếu nginxkhông chạy, bạn cũng có thể lấy thông tin từ tệp cấu hình như vậy:

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

Vì vậy, nếu tôi muốn khởi động lại nginx trong trường hợp này, tôi cần phải làm điều đó với rootngười dùng hoặc www-datangười dùng? Đôi khi tôi nhận được một open() "/run/nginx.pid" failed (13: Permission denied)...
Augustin Riedinger

@AugustinRiedinger Có lẽ bạn nên sử dụngsudo service nginx restart
Der Hochstapler

17

Để trả lời phần "và nhóm" của câu hỏi cho quy trình đang chạy, hãy sử dụng công cụ xác định định dạng supgrp (tên của các nhóm bổ sung). Thử:

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

1

ps -eo user,comm | grep nginxsẽ cung cấp cho bạn người dùng đang chạy nginx.

tophoặc htopcó thể được sử dụng để tìm người dùng của một quá trình.

sau đó bạn có thể tìm thấy nhóm người dùng sử dụng: groups USERNAME


cách xóa userinot nginx www-data nginx www-data nginx www-data nginx www-data nginx
Prakash Moturu

Tại sao bạn muốn xóa người dùng www-data? chạy daemon máy chủ web với người dùng này là kết quả mong đợi. ok, bạn có thể xóa nó bằng userdellệnh.
Mạnhdi Gao

1
Tuy nhiên, lưu ý rằng các nhóm hiệu quả và bổ sung của một quy trình đang chạy có thể không khớp với các tài khoản người dùng này vì nhiều lý do. Với CAP_SETGIDkhả năng (mà gốc thường có), quá trình có thể thay đổi cả hiệu quả GID và danh sách nhóm bổ sung. Bởi vì điều này, psgiải pháp là tốt hơn.
WGH

1

Tôi luôn luôn làm 'ps aux | grep sao cũng được 'nhưng tôi không phải là quản trị viên Nếu những điều trên là đúng và 'ps' cho bạn biết những gì bạn cần biết, hãy làm điều đó. Sau đó, bạn phải thực hiện 'kill ###' chứ không phải 'kill name' (### nghĩa là 17119 từ trên xuống). Giả sử bạn muốn giết nó. Đó là daemon, không phải deamon, btw.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.