Jawaban:
su
berarti pengguna pengganti dan jika dipanggil tanpa argumen Anda akan menjadi superuser. Karena itu Anda harus memasukkan kata sandi root.
Ini adalah semacam tidak berguna jika banyak orang perlu menggunakan perintah untuk administrasi sistem atau hal serupa dengan hak pengguna yang diperpanjang. Anda hanya tidak ingin orang memiliki hak tanpa batas dengan membagikan semua kata sandi root yang sama.
Solusi untuk masalah semacam ini adalah sudo
(" lakukan pengguna pengganti "). Ini akan memungkinkan Anda menentukan perintah yang dapat dipanggil seseorang dan menentukan izinnya. Untuk sudo
Anda tidak harus memasukkan kata sandi root, tetapi kata sandi pengguna yang mencoba menjalankan perintah sudo.
Beberapa distribusi memiliki pengguna root dinonaktifkan karena alasan keamanan. Ini bisa menjadi salah satu penjelasan mengapa Anda tidak dapat menggunakan su
. Dalam hal itu, untuk mendapatkan sebuah shell dengan hak akses root gunakan sudo -s
;-)
$ script
dan $ sudo script
? Pengguna sama dalam kedua kasus.
sudo allows a permitted user to execute a command as the superuser or another user, as specified in the sudoers file.
- dari manusia sudo. Biasanya skrip akan dipanggil dengan hak akses root. Itulah bedanya.
Perintah su tanpa opsi, akan default untuk memungkinkan Anda menjadi pengguna root. Itu tidak meminta kata sandi Anda, tetapi kata sandi root.
Perintah sudo selalu menanyakan kata sandi Anda.
sudo su -
mana tanda hubung berarti mengatur lingkungan sesuai dengan profil login pengguna (dalam hal ini root). Ini biasanya memberi sedikit peningkatan dalam keamanan PATH tetapi masih tidak melindungiecho hi > /dev/my_critical_filesystem