Masalah yang saya dapatkan adalah, ketika saya memasukkan perintah,
su - root
di awal file skrip shell saya, itu meminta pengguna untuk memasukkan kata sandi dan kemudian TIDAK melanjutkan dengan sisa skrip shell. Saya kemudian harus mencari dan menjalankan skrip shell secara manual melalui terminal. Saya ingin skrip untuk memastikan bahwa pengguna login sebagai root dan kemudian melanjutkan dengan sisa skrip shell.
Dengan kata lain, saya ingin menjalankan skrip sebagai pengguna mana pun, tetapi segera setelah skrip mulai dijalankan, pengguna harus mengubah ke root dan kemudian melanjutkan dengan sisa skrip sebagai root hingga selesai. Bisakah ini dilakukan?
sudo: must be setuid root
, maka sesuatu terjadi pada sudo Anda. Untuk memperbaikinya:chmod u+s $(which sudo)
. Dan ya, saya sangat menyadari apa yang Anda coba lakukan, saya melakukan hal yang sama sepanjang waktu dalam skrip saya.Anda dapat memeriksa UID juga:
sumber
Anda dapat memanggil skrip itu sendiri dan memeriksa:
sumber
Pada titik di mana Anda ingin masuk, cukup tambahkan perintah berikut
Ini berfungsi sempurna dengan kode saya
sumber