GNU/Linux >> Belajar Linux >  >> Linux

Sebagai Pengguna Apa NGinx dan PHP harus dijalankan?

Solusi 1:

Beginilah cara kerjanya:Saat Anda login melalui FTP/SSH dan mengunggah file, file dibuat dengan izin Anda. Mungkin webroot Anda dapat ditulis dunia (0777), itu tidak aman - setiap pengguna dalam sistem dapat menulis sesuatu di sana. PHP berjalan dengan hak pengguna yang berbeda (Mereka ditentukan dalam konfigurasi PHP-FPM, bukan konfigurasi nginx), dan karena direktori dapat ditulis dunia, pengguna PHP (www-data) juga dapat menulis di sana. Tetapi pemilik file ini adalah www-data, bukan akun Anda. Mereka adalah 2 akun berbeda di tingkat izin sistem file.

Saya menyarankan Anda untuk membuat pengguna khusus dengan hak istimewa sesedikit mungkin, yang akan memiliki direktori webroot dan akan digunakan untuk mengunggah FTP/SSH DAN akan menjalankan php. Anda harus mengubah konfigurasi PHP-FPM, di bagian pekerja ada entri pengguna dan konfigurasi NGINX, sehingga Anda dapat membuat file situs web Anda tidak mudah dibaca dan lebih aman.

Jangan menjalankan PHP dengan pengguna yang memiliki hak istimewa (kemampuan sudo, hak istimewa menulis di luar docroot), yang dapat menyebabkan gangguan keamanan server.

Solusi 2:

www-data pengguna &grup cukup standar. Ini mungkin www atau web di sistem lain tetapi idenya sama:Jalankan layanan web dengan akun khusus. Jadi, ketika server web Anda disusupi, penyerang hanya akan dapat mengakses file yang diberikan akun ini. .

Jika pengguna harus mengelola layanan web, Anda harus menambahkan pengguna ke grup yang relevan (data-www) atau mengizinkannya untuk su (atau sudo) ke pengguna yang relevan (masih data-www).


Linux
  1. Apa itu pengguna Linux?

  2. Tema suara di Linux:Apa yang harus diketahui setiap pengguna

  3. Apa itu Kernel Linux, dan haruskah Anda mengupgrade ke Kernel terbaru?

  1. Menginstal dan mengatur Php dan Nginx di Ubuntu 20.04

  2. Apa itu Kurasi Konten dan bagaimana cara melakukannya?

  3. Daftarkan tab cron yang sedang berjalan dan hentikan

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

  2. Pengguna apa yang harus menjalankan apache dan PHP? Izin apa yang harus dimiliki file /var/www?

  3. Temukan dan perbarui b tidak berfungsi. Apa yang harus saya lakukan?