Tôi nên chạy máy chủ web nào, redis & mongodb?


8

Trên VPS này có ba người dùng: root, Another_one, không ai cả. Tất cả các tệp máy chủ web, cấu hình, & c. được sở hữu bởi root. Tuy nhiên, tôi nghi ngờ về những gì liên quan đến vận hành. Nếu tôi sử dụng root cho máy chủ web, tôi có thể để hệ thống gặp lỗ hổng bảo mật, trong khi nếu tôi cố gắng đăng nhập vào nobodynó sẽ hỏi tôi mật khẩu mà tôi không bao giờ đặt và tôi không biết. Tôi có nên tạo một người dùng khác không?

Bây giờ tôi chỉ chắc chắn về nginx: Tôi chạy nó với quyền root và nó sinh ra các tiến trình như không có ai. Nhưng những gì về máy chủ web và các dịch vụ khác như db và redis?

Lưu ý: Tôi nên đề cập rằng other_user có thể sudo, vì vậy nó không khác với root.

Câu trả lời:


9

Tôi luôn chạy các dịch vụ với một người dùng chuyên dụng. Vì vậy, tôi sẽ tạo ra những người dùng này:

  • nginx
  • mongo
  • apache
  • mys
  • làm lại

Bạn không bao giờ nên chạy các dịch vụ thực tế như root!

Thông thường khi cài đặt các ứng dụng này bằng trình quản lý gói phân phối của bạn, như một phần của quá trình cài đặt, người dùng sẽ được tạo tự động cho mỗi dịch vụ này.

Tôi thường sử dụng CentOS / RHEL và khi tôi cài đặt những thứ như Apache, "apache" của người dùng sẽ được tạo tự động tại thời điểm đó. Cả MySQL và Nginx cũng vậy.


Vâng cảm ơn! Có, khi cài đặt redis chẳng hạn, tôi thấy rằng một redisngười dùng cũng được tạo. Tôi sẽ làm theo lời khuyên này, cảm ơn.
rubik

Bây giờ tôi đang định cấu hình mọi thứ và với nhiều người dùng, thiết lập quyền cụ thể sẽ dễ dàng hơn!
rubik

Tôi thích cách tiếp cận này. Vì tò mò, chiến lược của bạn cho các nhóm là gì? Bạn có một nhóm dịch vụ? Hay bạn giữ một nhóm riêng cho mỗi người dùng dịch vụ?
Patrick M

@PatrickM - các nhóm riêng biệt. Các dịch vụ nên được ngăn chặn càng nhiều càng tốt từ nhau.
slm

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.