Aku bisa melakukan sudengan su <username>dan meminta password saya. Apakah ada parameter kata sandi untuk susehingga saya tidak akan diminta kata sandi?
misalnya su <username> -p <password>
superusersini, superuser.com/questions/67765/…
Aku bisa melakukan sudengan su <username>dan meminta password saya. Apakah ada parameter kata sandi untuk susehingga saya tidak akan diminta kata sandi?
misalnya su <username> -p <password>
superusersini, superuser.com/questions/67765/…
Jawaban:
Jika Anda ingin menulis skrip yang berjalan sebagai pengguna yang berbeda, ini berfungsi, meskipun ia mengeluarkan kata "kata sandi" tanpa baris baru ke standar
su - username <<!
enterpasswordhere
enter commands to run as the new user
!
jika Anda memiliki pengguna bernama fred dengan kata sandi 1234 dan ingin mendapatkan ls direktori home fred sebagai fred, tanpa string kata sandi ditampilkan, akan terlihat seperti
su - fred <<! >/dev/null 2>&1
1234
whoami > /dev/tty
ls > /dev/tty
!
su: must be run from a terminal.
Saya percaya, tidak ada dan itu bukan ide yang bagus. Inilah alasannya:
Jika Anda menulis kata sandi dalam perintah seperti su <username> -p <password>, kata sandi itu akan disimpan dalam teks biasa di riwayat bash Anda. Ini tentu merupakan masalah keamanan besar.
Jika Anda perlu menjalankan perintah dengan su(atau sudo) secara otomatis, tulis sebuah shellscript yang berisi perintah-perintah tersebut tanpa suatau sudodan jalankansu <username> script.sh
su root script masih harus memasukkan passwd.
echo <passwd> | sudo -S <command-line>Meskipun tidak aman, tetapi berhasil.