Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

WBOY
Lepaskan: 2023-05-24 20:01:26
ke hadapan
1403 orang telah melayarinya

Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

Biasanya, pelayan yang kami jalankan aplikasi web termasuk pengedaran Linux seperti CentOS, Ubuntu, Debian, dll. Pada masa ini, kawalan kebenaran Nginx, PHP, MySQL dan aplikasi lain yang diperlukan untuk membentuk seni bina perkhidmatan menjadi sangat penting Setiap perkhidmatan mempunyai keperluan kebenaran yang berbeza untuk direktori kod yang akan menyebabkan perkhidmatan tersebut tidak boleh membaca, menulis atau menjalankan , yang merendahkan keperluan kebenaran dan menimbulkan risiko pencerobohan dan pengubahsuaian.

1. Keizinan Nginx pelayan web

Rangka kerja PHP biasanya digabungkan dengan Nginx untuk membentuk LNMP atau digabungkan dengan Apache untuk membentuk seni bina LAMP Di sini, Nginx digunakan sebagai contoh untuk menerangkan apa yang diperlukan untuk menjalankan perkhidmatan Nginx.
Kami tahu bahawa Nginx sendiri tidak boleh menghuraikan sintaks PHP, jadi Nginx akan menghuraikan secara langsung dan mengembalikan hasil untuk fail statik (seperti HTML, dll.), tetapi untuk fail PHP, Nginx akan memindahkannya ke penterjemah PHP php-fpm untuk pemprosesan. Selepas pemprosesan, respons dikembalikan kepada pelayar klien.

Oleh itu, kami perlu menyatukan kebenaran yang diperlukan untuk perkhidmatan Nginx dan PHP dalam direktori kod kami.

① Jika pengguna root digunakan secara seragam, akaun tetamu umum tidak akan dapat mengakses aplikasi Jika nginx dikonfigurasikan untuk dijalankan sebagai root, akan ada risiko keselamatan yang besar Setelah diserang, root identiti akan diperolehi untuk melaksanakan segala-galanya dalam sistem beroperasi.

Jika kebenaran direktori kod ditetapkan secara seragam kepada rwxrwxrwx, akan ada bahaya tersembunyi yang pengguna boleh mengubah suai direktori kod secara terus melalui penyemak imbas.

Jadi cara terbaik ialah mengklasifikasikannya ke dalam kumpulan pengguna baharu dan memberikan kebenaran yang diperlukan untuk menjalankan Nginx dan PHP kepada kumpulan pengguna untuk mencapai pengurusan direktori kebenaran aplikasi web. Dalam banyak kes, pasukan akan menggunakan kumpulan pengguna www untuk mengurus kebenaran direktori kod dan mengurus www pengguna secara seragam.

Kita dapat melihat bahawa kebenaran berjalan yang dibahagikan dalam fail konfigurasi Nginx nginix.conf dikonfigurasikan di bawah pengguna www, jadi proses anak Nginx juga dilaksanakan oleh pengguna www, yang boleh dilihat melalui ps aux | grep nginx :

Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

Anda boleh melihat bahawa proses utama nginx ialah root, dan sub-proses lain adalah semua pengguna www

nginx. konfigurasi conf:

Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

2 konfigurasi kebenaran PHP

Begitu juga, PHP juga dijalankan oleh akar proses utama, dalam kumpulan proses anak Konfigurasi di dalam (pool) dilaksanakan oleh pengguna www. Konfigurasi khusus berada di bawah etcphp-fpm.conf dalam direktori akar php:

user = www
 group = www
Salin selepas log masuk

🎜> untuk melihat identiti pengguna yang digunakan oleh proses: ps aux | grep php

Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

3 Konfigurasi kebenaran perkhidmatan MySQL

Melalui

anda boleh melihat bahawa perkhidmatan MySQL berjalan dalam mysql Bagi pengguna, perkhidmatan ini hanya memerlukan kami membawa nama pengguna dan kata laluan mysql apabila kod php bersambung ke mysql Ia tidak perlu disatukan sebagai www, kerana lapisan data perlu diasingkan daripada lapisan logik perniagaan untuk memastikan keselamatan data asas. Keizinan mysql adalah terutamanya untuk menambah pengguna baharu dan membahagikan kebenaran dalam perkhidmatan mysql, yang digunakan untuk mengawal perniagaan PHP yang berbeza untuk berhubung dengan identiti dengan julat kebenaran yang berbeza untuk memastikan keselamatan data. ps aux | grep mysql

Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql

4. Ringkasan

konfigurasi nginx:

user www www;
Salin selepas log masuk

php-fpm:


user = www
group = www
Salin selepas log masuk

Direktori:


drwxr-xr-x 就是755
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mengkonfigurasi kebenaran pengguna untuk nginx, php-fpm dan mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Label berkaitan:
sumber:yisu.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan
Tentang kita Penafian Sitemap
Laman web PHP Cina:Latihan PHP dalam talian kebajikan awam,Bantu pelajar PHP berkembang dengan cepat!