Bertentangan dengan apa yang paling umum digunakan akan membuat Anda berpikir, su
dan sudo
tidak hanya dimaksudkan untuk masuk (atau melakukan tindakan) sebagai root.
su
memungkinkan Anda untuk mengganti identitas Anda dengan identitas orang lain. Untuk alasan ini, saat Anda mengetik su
, sistem perlu memverifikasi bahwa Anda memiliki kredensial untuk pengguna target yang Anda coba ubah.
sudo
sedikit berbeda. Menggunakan sudo
memungkinkan Anda untuk menjalankan perintah tertentu (atau semua, tergantung pada konfigurasi) sebagai orang lain. Identitas Anda sendiri digunakan untuk menentukan jenis perintah sudo
akan berjalan untuk Anda dengan identitas orang lain:jika Anda adalah pengguna tepercaya (dalam arti sysadmin mempercayai Anda), Anda akan diberi kebebasan lebih daripada, katakanlah, magang. Inilah mengapa sudo
perlu memverifikasi identitas Anda sendiri, bukan identitas pengguna target.
Dengan kata lain, mencoba su
kepada seseorang yang bukan Anda seperti mencoba menagih pembelian Anda ke kartu kredit curian saat menggunakan sudo
seperti menjual mobil teman Anda dengan kuasa hukum.
Adapun apa yang Anda coba lakukan, cukup sudo su root
, atau lebih sederhananya sudo su
dan ketik kata sandi pengguna biasa Anda. Ini kira-kira sama dengan mengganti kredensial kartu kredit teman Anda dengan milik Anda menggunakan proxy resmi yang mereka berikan kepada Anda :). Ini tentu saja mengasumsikan sudo
konfigurasi memungkinkan Anda untuk menjalankan su
dengan hak istimewa yang ditingkatkan.
Selain itu, sistem yang telah dikonfigurasi sebelumnya dengan sudo
akses biasanya menonaktifkan akun root (tanpa kata sandi root), Anda dapat mengaktifkannya menggunakan passwd
perintah setelah menjadi root melalui sudo su
.
Ini dapat dikonfigurasi* tetapi, secara default, "sudo" meminta kata sandi Anda. Itu hanya mencoba memastikan bahwa itu adalah Anda, bukan seseorang yang menggunakan keyboard Anda saat Anda sedang minum kopi.
Sebaliknya, "su root" meminta kata sandi root dari Anda.
*Jika targetpw di /etc/sudoers salah (default), "sudo" menanyakan kata sandi Anda. Jika benar, maka "sudo" meminta kata sandi root atau, jika Anda menentukan pengguna lain dengan opsi "-u", kata sandi pengguna tersebut.
sudo
digunakan untuk sementara meningkatkan izin pengguna ke tingkat root, sedangkan su root
digunakan untuk membuat shell baru dengan root sebagai pengguna;