Rumah > Artikel > pembangunan bahagian belakang > Bagaimanakah Saya Boleh Menjalankan Skrip Shell yang Diperlukan Sudo daripada PHP Tanpa Gesaan Kata Laluan?
Cara Melaksanakan Skrip Shell yang Diperlukan SUDO daripada PHP
Melaksanakan skrip shell yang memerlukan keistimewaan yang tinggi dari dalam PHP boleh mencabar, kerana fungsi shell_exec() tidak menyokong gesaan kata laluan. Walau bagaimanapun, terdapat cara untuk mengatasi had ini dan mengautomasikan pelaksanaan skrip.
Penyelesaian: Ubah Suai Fail Sudoers
Satu penyelesaian yang berkesan ialah mengedit fail sudoers (biasanya terletak di /etc/sudoers) dan tambah peraturan yang membenarkan skrip yang ditentukan dilaksanakan tanpa kata laluan. Untuk melakukan ini, ikuti langkah berikut:
Buka fail sudoers dengan keistimewaan root menggunakan arahan berikut:
sudo visudo
Tambah baris dalam format berikut:
www-data ALL=NOPASSWD: /path/to/script
di mana www-data ialah nama pengguna pelayan web dan /path/to/script ialah laluan ke skrip bash yang memerlukan keistimewaan yang tinggi.
Dengan membuat pengubahsuaian ini, anda memberi kebenaran secara berkesan kepada pengguna pelayan web untuk melaksanakan skrip yang ditentukan tanpa digesa untuk mendapatkan kata laluan.
Setelah anda melengkapkan langkah ini, anda boleh memanggil skrip bash anda daripada PHP menggunakan fungsi shell_exec() seperti biasa. Skrip akan dijalankan dengan keistimewaan yang tinggi, tanpa sebarang gesaan kata laluan.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menjalankan Skrip Shell yang Diperlukan Sudo daripada PHP Tanpa Gesaan Kata Laluan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!