Di mesin pribadi saya, saya sering mengetik sudo
di depan perintah tertentu untuk menyelesaikan tugas administrasi. Saya berharap untuk tidak melakukan ini sepanjang hari, dengan mengetik su root
dan memberikan kata sandi yang sama seperti yang biasa saya lakukan sudo
. Namun, kedua kata sandi itu tidak sama (saya tidak tahu bagaimana cara masuk su root
). Apakah menjalankan perintah dengan yang sudo
berbeda dari masuk dengan su root
dan menjalankan perintah yang sama?
Saya berpikir sudo
dan su root
sama, karena ketika saya mengetik sudo whoami
, saya mendapatkan root
, bukan hanya di whoami
mana saya mendapatkan nama pengguna saya.
sudo
, sistem meminta kata sandi Anda untuk memverifikasi identitas Anda, kemudian memeriksa/etc/sudoers
untuk melihat apakah Anda diizinkan menjalankan sudo. Saat Anda menggunakansu
, sistem mengharuskan Anda untuk memasukkan kata sandi pengguna yang Anda gunakan . (Saya tahu ini sekarang adalah pertanyaan yang sangat lama, tetapi saya ingin menambahkan klarifikasi untuk kepentingan pemirsa di masa depan.)Jawaban:
Bertentangan dengan apa yang mereka gunakan paling umum akan membuat Anda berpikir,
su
dansudo
tidak hanya dimaksudkan untuk masuk (atau melakukan tindakan) sebagai root.su
memungkinkan Anda untuk mengganti identitas Anda dengan orang lain. Untuk alasan ini, saat Anda mengetiksu
, sistem perlu memverifikasi bahwa Anda memiliki kredensial untuk pengguna target yang Anda coba ubah menjadi.sudo
sedikit berbeda. Menggunakansudo
memungkinkan Anda untuk menjalankan perintah tertentu (atau semua, tergantung pada konfigurasi) sebagai orang lain. Identitas Anda sendiri digunakan untuk menentukan jenis perintah apa yangsudo
akan berjalan untuk Anda di bawah identitas orang lain: jika Anda adalah pengguna tepercaya (dalam arti bahwa sysadmin mempercayai Anda), Anda akan diizinkan lebih bebas mengendalikan daripada, katakanlah, magang. Inilah sebabnya mengapasudo
perlu memverifikasi identitas Anda sendiri daripada identitas pengguna target.Dengan kata lain, mencoba menghubungi
su
seseorang yang bukan Anda sama dengan mencoba membebankan biaya pembelian ke kartu kredit curian saat menggunakansudo
sama seperti menjual mobil teman Anda dengan kuasa hukum.Adapun apa yang Anda coba lakukan, adil
sudo su root
, atau bahkan lebih sederhanasudo su
dan ketikkan kata sandi pengguna biasa Anda. Ini kira-kira sama dengan mengganti kredensial kartu kredit teman Anda dengan Anda sendiri menggunakan proxy legal yang mereka berikan kepada Anda :). Tentu saja dengan asumsisudo
konfigurasi memungkinkan Anda untuk menjalankansu
dengan hak istimewa yang ditingkatkan.Juga, sistem yang datang pra-konfigurasi dengan
sudo
akses biasanya memiliki akun root dinonaktifkan (tidak ada kata sandi root), Anda dapat mengaktifkannya menggunakanpasswd
perintah setelah menjadi root viasudo su
.sumber
sudo
)?sudo
digunakan untuk meningkatkan sementara izin pengguna ke tingkat root, sedangkansu root
digunakan untuk membuat shell baru dengan root sebagai pengguna;sumber
Ini dapat dikonfigurasi * tetapi, secara default, "sudo" meminta kata sandi Anda. Itu hanya berusaha memastikan bahwa itu adalah Anda, bukan seseorang yang menggunakan keyboard Anda saat Anda mendapatkan kopi.
Sebaliknya, "su root" meminta Anda untuk kata sandi root.
* Jika targetpw di / etc / sudoers salah (default), "sudo" meminta kata sandi Anda. Jika itu benar, maka "sudo" meminta Anda kata sandi root atau, jika Anda menentukan beberapa pengguna lain dengan opsi "-u", kata sandi pengguna itu.
sumber
Untuk mendapatkan manfaat dari beberapa pendatang baru dalam pencarian ini, ada metode sederhana untuk masuk ke root sampai Anda keluar:
Akan membuat Anda tetap interaktif dan menjaga lingkungan Anda tetapi sekarang, sebagai root.
sumber