Mengapa kata sandi 'sudo' berbeda dari kata sandi 'su root'

11

Di mesin pribadi saya, saya sering mengetik sudodi depan perintah tertentu untuk menyelesaikan tugas administrasi. Saya berharap untuk tidak melakukan ini sepanjang hari, dengan mengetik su rootdan 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 sudoberbeda dari masuk dengan su rootdan menjalankan perintah yang sama?

Saya berpikir sudodan su rootsama, karena ketika saya mengetik sudo whoami, saya mendapatkan root, bukan hanya di whoamimana saya mendapatkan nama pengguna saya.

Trevor Hickey
sumber
Saya menemukan utas yang lebih lama ini karena terkait dengan pertanyaan yang saya ajukan. Jawabannya sangat informatif tetapi meninggalkan pertanyaan. Pada mesin pribadi (satu pengguna), bagaimana Anda mendapatkan kata sandi berbeda untuk root tergantung pada apakah Anda menggunakan sudo atau su root? Apakah tidak ada kata sandi root tunggal, ditentukan ketika Linux diinstal?
fixer1234
@ fixer1234 Sebagaimana dijelaskan dalam jawaban John1024 , ketika Anda menggunakan sudo, sistem meminta kata sandi Anda untuk memverifikasi identitas Anda, kemudian memeriksa /etc/sudoersuntuk melihat apakah Anda diizinkan menjalankan sudo. Saat Anda menggunakan su, 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.)
anonim memilih
@anonymoose, pertanyaan ini adalah tentang mesin pribadi OP. Biasanya, ketika Anda menginstal Linux pada mesin Anda sendiri, Anda akan tahu jika Anda memberi root kata sandi yang berbeda dari pengguna biasa Anda. Pertanyaan tersebut mengindikasikan bahwa OP terkejut mengetahui bahwa root memiliki kata sandi yang berbeda.
fixer1234
1
@ fixer1234 OP mungkin tidak mengatur kata sandi root untuk memulai. Pemasang Ubuntu tidak meminta kata sandi root , dan saya yakin beberapa distro lain tidak.
anonim memilih

Jawaban:

17

Bertentangan dengan apa yang mereka gunakan paling umum akan membuat Anda berpikir, sudan sudotidak hanya dimaksudkan untuk masuk (atau melakukan tindakan) sebagai root.

sumemungkinkan Anda untuk mengganti identitas Anda dengan orang lain. Untuk alasan ini, saat Anda mengetik su, sistem perlu memverifikasi bahwa Anda memiliki kredensial untuk pengguna target yang Anda coba ubah menjadi.

sudosedikit berbeda. Menggunakan sudomemungkinkan Anda untuk menjalankan perintah tertentu (atau semua, tergantung pada konfigurasi) sebagai orang lain. Identitas Anda sendiri digunakan untuk menentukan jenis perintah apa yang sudoakan 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 mengapa sudoperlu memverifikasi identitas Anda sendiri daripada identitas pengguna target.

Dengan kata lain, mencoba menghubungi suseseorang yang bukan Anda sama dengan mencoba membebankan biaya pembelian ke kartu kredit curian saat menggunakan sudosama seperti menjual mobil teman Anda dengan kuasa hukum.

Adapun apa yang Anda coba lakukan, adil sudo su root, atau bahkan lebih sederhana sudo sudan 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 asumsi sudokonfigurasi memungkinkan Anda untuk menjalankan sudengan hak istimewa yang ditingkatkan.

Juga, sistem yang datang pra-konfigurasi dengan sudoakses biasanya memiliki akun root dinonaktifkan (tidak ada kata sandi root), Anda dapat mengaktifkannya menggunakan passwdperintah setelah menjadi root via sudo su.

Joseph R.
sumber
Untuk pengguna rumahan, apakah Anda merekomendasikan pengaturan kata sandi root selain memiliki pengguna dengan hak istimewa (As in sudo)?
Royi
3

sudodigunakan untuk meningkatkan sementara izin pengguna ke tingkat root, sedangkan su rootdigunakan untuk membuat shell baru dengan root sebagai pengguna;

Dave
sumber
2

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.

John1024
sumber
1

Untuk mendapatkan manfaat dari beberapa pendatang baru dalam pencarian ini, ada metode sederhana untuk masuk ke root sampai Anda keluar:

     sudo -iE

Akan membuat Anda tetap interaktif dan menjaga lingkungan Anda tetapi sekarang, sebagai root.

fcm
sumber