Cara menjalankan skrip shell dengan perintah sudo di linux

Cara menjalankan skrip shell dengan perintah sudo di linux

sudo adalah alat baris perintah yang kuat yang memungkinkan "diizinkan pengguna”Untuk menjalankan perintah sebagai pengguna lain (superuser secara default), sebagaimana didefinisikan oleh kebijakan keamanan. Pada sebagian besar jika tidak semua sistem Linux, kebijakan keamanan didorong oleh /etc/sudoers mengajukan.

Baca juga: 10 Konfigurasi Sudoers yang Berguna Untuk Menetapkan 'Sudo' di Linux

Oleh karena itu, untuk menjalankan skrip atau program shell sebagai root, Anda perlu menggunakan perintah sudo. Namun, sudo hanya mengenali dan menjalankan perintah yang ada di direktori yang ditentukan dalam Secure_path dalam /etc/sudoers, kecuali ada perintah di Secure_path, Anda akan melawan kesalahan seperti yang di bawah ini.

Ini akan terjadi bahkan jika skrip ada di direktori di JALUR variabel lingkungan, karena saat pengguna memohon sudo, JALUR diganti dengan Secure_path.

$ echo $ path $ ls -l $ sudo proconport.SH 80 
Kesalahan sudo saat menjalankan skrip

Dalam skenario di atas, direktori /home/aaronkilik/bin ada di JALUR variabel lingkungan dan kami mencoba menjalankan skrip /home/aaronkilik/bin/proconport.SH (Menemukan proses mendengarkan di port) dengan hak istimewa root.

Lalu kami mengalami kesalahan "Sudo: Proconport.SH: Perintah tidak ditemukan", sejak /home/aaronkilik/bin tidak ada di Sudo Secure_path seperti yang ditunjukkan pada tangkapan layar berikutnya.

Periksa jalur aman sudo

Untuk memperbaikinya, kita perlu menambahkan direktori yang berisi skrip kita di Sudo Secure_path dengan menggunakan Perintah Visudo dengan mengedit /etc/sudoers file sebagai berikut.

$ sudo visudo 

Perhatian: Metode ini memiliki implikasi keamanan yang serius terutama pada server yang berjalan di internet. Dengan cara ini, kami berisiko mengekspos sistem kami ke berbagai serangan, karena penyerang yang berhasil mendapatkan akses ke direktori yang tidak aman (tanpa hak istimewa superuser) yang telah ditambahkan ke Secure_Path, dapat menjalankan skrip/program berbahaya dengan Perintah sudo.

Untuk alasan keamanan, lihat artikel berikut dari situs web Sudo menjelaskan kerentanan yang berkaitan dengan Secure_Path: https: // www.sudo.WS/SUDO/ALERTS/SURET_PATH.html

Lebih disukai, kami dapat memberikan jalur absolut ke skrip saat menjalankannya dengan sudo:

$ sudo ./Proconport.SH 80 
Jalankan skrip menggunakan perintah sudo

Itu dia! Anda dapat mengikuti daftar artikel tentang perintah sudo:

  1. Cara menjalankan perintah 'sudo' tanpa memasukkan kata sandi di linux
  2. Cara menjaga sesi batas waktu kata sandi 'sudo' lebih lama di linux
  3. Cara Memperbaiki “Nama Pengguna tidak ada dalam file sudoers. Kejadian ini akan dilaporkan ”di Ubuntu
  4. Biarkan sudo menghina Anda saat Anda memasukkan kata sandi yang salah

Jika Anda memiliki pertanyaan atau pemikiran tentang artikel ini, bagikan dengan kami melalui formulir komentar di bawah ini.