GNU/Linux >> Belajar Linux >  >> Linux

Menjalankan Apache sebagai pengguna yang berbeda

Apache harus dijalankan sebagai root pada awalnya untuk mengikat ke port 80. Jika Anda tidak menjalankannya sebagai root pada awalnya maka Anda tidak dapat mengikat ke port 80. Jika Anda ingin mengikat ke beberapa port di atas 1024 maka ya, Anda bisa. Kalau tidak, jangan khawatir tentang root. Itu adalah proses induk Apache dan tidak melayani permintaan apa pun. Ini akan menelurkan proses anak dan menghilangkan hak istimewa untuk menangani permintaan.

Untuk mengubah pengguna Apache atur User dan Group parameter di konfigurasi Apache Anda.


@bahamat menjelaskannya dengan cukup baik, tapi saya akan menambahkan sedikit lebih detail.

Selama operasi normal, proses apache yang dimiliki root tidak akan melakukan operasi apa pun yang sebenarnya selain mendengarkan pada port 80 dan meneruskan koneksi yang masuk ke port 80 (amannya tidak diistimewakan, seperti www-data pengguna) anak-anak.

Lokasi file konfigurasi master bergantung pada opsi waktu kompilasi dan bervariasi per distribusi, tetapi /etc/apache2/apache2.conf adalah tebakan awal yang bagus.

Juga, jika Anda menyiapkan sistem hosting web multi-pengguna, Anda mungkin ingin melihat SuExec dan fcgid sehingga setiap proses apache pengguna webhosting berjalan seperti pengguna tersebut - sehingga jika satu pengguna lalai dengan keamanannya, lainnya pengguna tidak akan terpengaruh.


Setidaknya di Ubuntu, pengaturan untuk ini ada di /etc/apache2/envvars . Tweak itu, lalu mulai ulang apache dan Anda mulai bekerja.


Linux
  1. Menjalankan Podman tanpa root sebagai pengguna non-root

  2. Dapatkan Waktu Pengguna Dan Kernel Dari Proses yang Berjalan?

  3. Buat File Sebagai Pengguna Dan Grup Yang Berbeda?

  1. Bagaimana cara melihat proses yang berjalan dari setiap pengguna di SSH?

  2. Instal WordPress di Linux dengan Apache

  3. Mengatur umask pengguna Apache

  1. Konfigurasikan Jenkins untuk berbagai pengguna.rumah

  2. Bedakan setiap pengguna apache dan berikan izin

  3. Apa perbedaan antara root dan sudo?