Saya memiliki bash
skrip yang perlu dijalankan dengan hak akses root , tetapi harus dijalankan oleh pengguna normal.
Bagian yang sulit adalah skrip tidak boleh meminta kata sandi, dan saya tidak ingin menggunakan file sudoers . Saya ingin menghindari penggunaan sudo atau su .
Apakah ini mungkin?
bash
permissions
Stefan
sumber
sumber
Jawaban:
Jika itu bukan skrip bash tetapi aplikasi biasa, Anda akan memberikannya untuk melakukan root dan mengatur bit setuid pada aplikasi tersebut. Kemudian setelah eksekusi, pengguna efektif yang dijalankan oleh aplikasi adalah root. Namun karena masalah keamanan, ini dalam banyak sistem dilarang untuk skrip shell. Pertanyaan ini di sini di unix.stackexchange.com menangani cara bagaimana mengatasi hal ini.
sumber
Gunakan sudo. Jika Anda tidak ingin menelepon
sudo /path/to/myscript
, tulis pembungkus satu barisexec sudo /path/to/myscript "$@"
. Lihat Izinkan setuid pada skrip shell , terutama jawaban Maciej Piechotka tentang penggunaan sudo dan diskusi saya yang lebih umum tentang program setuid .sumber
sudo
.