GNU/Linux >> Belajar Linux >  >> Linux

Cara Membuat Script Shell Selalu Jalankan Sebagai Root?

Saya ingin tahu cara membuat (jika mungkin) skrip bash yang berjalan sebagai root di Debian terlepas dari pengguna yang menjalankannya, tanpa meminta autentikasi apa pun.

File ini akan menjalankan semua perintahnya sebagai pengguna root, tetapi hanya pengguna root sebenarnya yang dapat membaca atau menulisnya.

Saya membutuhkan ini karena saya ingin menjalankan perintah seperti swapoff , swapon , apt , dll... Tetapi melalui aplikasi lain, dan saya ingin aplikasi itu tidak menanyakan kata sandi apa pun kepada saya.

Perintah akan diperbaiki (perintah root tersebut akan memiliki parameternya di file, bukan sebagai input), jadi implikasi keamanan tidak sepenuhnya menjadi perhatian saya, tetapi saya juga menerima penjelasannya.

Jawaban yang Diterima:

Cara tingkat rendah agar program selalu berjalan di bawah UID tertentu, adalah bit setuid pada file biner. Begitulah misalnya sudo dan su mendapatkan izin root, meskipun biasanya dimulai dengan penggunaan normal.
Namun secara umum, sistem mirip Unix tidak mendukung skrip setuid , lihat:Izinkan setuid pada skrip shell

Namun, yang dapat Anda lakukan adalah mengonfigurasi sudo atau alat lain semacam itu untuk memungkinkan pengguna menjalankan beberapa file tertentu dengan hak istimewa yang sesuai. Misalnya, ini akan memungkinkan viceadmin untuk menjalankan /usr/local/bin/sudoswapon dengan argumen apa pun, dan tanpa otentikasi:

viceadmin ALL = NOPASSWD:/usr/local/bin/sudoswapon

Sekarang, sejak sudo berurusan dengan mengubah hak istimewa itu sendiri, sudoswapon bisa berupa skrip shell.

Anda benar untuk mencatat bahwa skrip perlu berhati-hati dengan cara menangani argumen baris perintah, dan bahwa semua gotcha dari bahasa shell akan berlaku. Untungnya, sudo menyaring sebagian besar variabel lingkungan, setidaknya jika env_reset opsi telah disetel.


Linux
  1. Bagaimana Cara Membuat Skrip A Sebagai Root Secara Retroaktif?

  2. Dari Mana Skrip Shell Dijalankan?

  3. Adakah cara untuk menjalankan perintah Shell di Android secara terprogram?

  1. Cara menjalankan skrip shell saat startup

  2. Jalankan skrip shell di terminal baru dari terminal saat ini

  3. Bagaimana cara membuat skrip Python dijalankan sebagai layanan?

  1. Jalankan perintah Shell di jenkins sebagai pengguna root?

  2. Bisakah saya membuat skrip selalu dijalankan sebagai root?

  3. Kali Linux VM:Izin ditolak untuk menjalankan skrip shell, sebagai root