Dengan pengguna mana saya harus menjalankan server web, redis & mongodb?

8

Di VPS ini ada tiga pengguna: root, another_one, tidak ada. Semua file server web, konfigurasi, & c. dimiliki oleh root. Namun, saya ragu untuk apa menjalankan sesuatu. Jika saya menggunakan root untuk server web saya dapat mengekspos sistem untuk lubang keamanan, sedangkan jika saya mencoba masuk ke nobodydalamnya meminta saya kata sandi yang tidak pernah saya tetapkan dan saya tidak tahu. Haruskah saya membuat pengguna lain?

Untuk saat ini saya hanya yakin tentang nginx: Saya menjalankannya sebagai root dan memunculkan proses sebagai bukan siapa-siapa. Tetapi bagaimana dengan server web dan layanan lain seperti db dan redis?

Catatan: Saya harus menyebutkan bahwa pengguna lain dapat menggunakan sudo, jadi itu tidak jauh berbeda dengan root.

rubik
sumber

Jawaban:

9

Saya selalu menjalankan layanan dengan pengguna khusus. Jadi saya akan membuat pengguna ini:

  • nginx
  • mongo
  • apache
  • mysql
  • redis

Anda seharusnya tidak pernah menjalankan layanan aktual sebagai root!

Seringkali ketika menginstal aplikasi ini menggunakan manajer paket distribusi Anda, sebagai bagian dari instalasi, pengguna akan secara otomatis dibuat untuk masing-masing layanan ini.

Saya biasanya menggunakan CentOS / RHEL dan ketika saya menginstal hal-hal seperti Apache, pengguna "apache" dibuat secara otomatis pada saat itu. Begitu juga untuk MySQL, dan Nginx.

slm
sumber
Baik terima kasih! Ya, ketika menginstal redis misalnya saya menemukan bahwa redispengguna juga dibuat. Saya akan mengikuti saran ini, terima kasih.
rubik
Saya sekarang mengonfigurasi hal-hal dan dengan beberapa pengguna menetapkan izin khusus lebih mudah!
rubik
Saya suka pendekatan ini. Karena penasaran, apa strategi Anda untuk kelompok? Apakah Anda memiliki grup layanan? Atau apakah Anda menyimpan grup terpisah untuk setiap pengguna layanan?
Patrick M
@ Patrickrick - grup terpisah. Layanan harus dibatasi sebanyak mungkin dari satu sama lain.
slm