Cara menjalankan skrip shell dengan arahan sudo di linux
- 1475
- 153
- Wendell Shields
sudo adalah alat baris perintah yang kuat yang membolehkan "pengguna yang dibenarkan"Untuk menjalankan arahan sebagai pengguna lain (superuser secara lalai), seperti yang ditakrifkan oleh dasar keselamatan. Sebilangan besar jika tidak semua sistem linux, dasar keselamatan didorong oleh /etc/sudoers fail.
Baca juga: 10 Konfigurasi Sudoer Berguna untuk Menetapkan 'Sudo' di Linux
Oleh itu, untuk menjalankan skrip atau program shell sebagai akar, anda perlu menggunakan arahan sudo. Walau bagaimanapun, sudo hanya mengiktiraf dan menjalankan arahan yang wujud dalam direktori yang dinyatakan dalam selamat_path di dalam /etc/sudoers, melainkan jika arahan hadir di selamat_path, anda akan mengatasi kesilapan seperti yang di bawah.
Ini akan berlaku walaupun skrip wujud dalam direktori di Jalan Pemboleh ubah alam sekitar, kerana apabila pengguna memohon sudo, Jalan digantikan dengan selamat_path.
$ echo $ path $ ls -l $ sudo proCoRport.SH 80Kesalahan sudo semasa menjalankan skrip
Dalam senario di atas, direktori /rumah/aaronkilik/bin berada di Jalan Pemboleh ubah persekitaran dan kami cuba menjalankan skrip /rumah/aaronkilik/bin/proConport.sh (mencari proses mendengar di port) dengan keistimewaan akar.
Kemudian kami menghadapi ralat "Sudo: ProConport.SH: Perintah tidak dijumpai", sejak /rumah/aaronkilik/bin tidak berada di sudo secure_path seperti yang ditunjukkan dalam tangkapan skrin seterusnya.
Periksa jalan selamat sudoUntuk membetulkannya, kita perlu menambah direktori yang mengandungi skrip kami di sudo secure_path dengan menggunakan Perintah Visudo dengan mengedit /etc/sudoers fail seperti berikut.
$ sudo visudo
Perhatian: Kaedah ini mempunyai implikasi keselamatan yang serius terutama pada pelayan yang berjalan di internet. Dengan cara ini, kami mengambil risiko mendedahkan sistem kami ke pelbagai serangan, kerana penyerang yang berjaya mendapatkan akses kepada direktori yang tidak selamat (tanpa keistimewaan super) yang telah ditambah ke Secure_Path, dapat menjalankan skrip/program yang berniat jahat dengan perintah sudo.
Atas sebab keselamatan, periksa artikel berikut dari laman web sudo menerangkan kelemahan yang berkaitan dengan Secure_Path: https: // www.sudo.WS/SUDO/Alert/Secure_Path.html
Sebaiknya, kita dapat memberikan jalan mutlak ke skrip semasa menjalankannya dengan sudo:
$ sudo ./ProConport.SH 80Jalankan skrip menggunakan arahan sudo
Itu sahaja! Anda boleh mengikuti senarai artikel mengenai arahan sudo:
- Cara menjalankan perintah 'sudo' tanpa memasukkan kata laluan di linux
- Cara Mengekalkan Sesi Masa Kata Laluan 'Sudo' Lebih lama di Linux
- Cara Memperbaiki "Nama Pengguna tidak berada dalam fail sudoers. Kejadian ini akan dilaporkan "di Ubuntu
- Biarkan sudo menghina anda apabila anda memasukkan kata laluan yang salah
Sekiranya anda mempunyai sebarang pertanyaan atau pemikiran mengenai artikel ini, kongsi dengan kami melalui borang komen di bawah.
- « Cara Memasang PostgreSQL 10 di CentOS/RHEL dan Fedora
- 4 cara untuk menonton atau memantau fail log dalam masa nyata »