Perintah: sudo su -

35

Saya mengerti apa yang su -terjadi

  • mencatat Anda ke root dengan lingkungan root
  • (sebagai lawan dari suyang mencatat Anda menjadi root dengan lingkungan Anda)

Dan saya mengerti apa yang sudoterjadi

  • Anda root untuk satu perintah

Tapi saya tidak yakin apa ini: sudo su -

Siapa pun yang mau mengklarifikasi

sixtyfootersdude
sumber
2
StackOverflow adalah untuk mengajukan pertanyaan terkait pemrograman. Situs yang Anda cari (setidaknya untuk pertanyaan ini) adalah SuperUser.com

Jawaban:

53

Selain apa yang Anda katakan, sumemerlukan kata sandi root dan sudomemerlukan kata sandi pengguna Anda

Oleh karena itu sudo su -akan menempatkan Anda ke dalam lingkungan root tetapi akan meminta Anda untuk kata sandi pengguna Anda alih-alih kata sandi root (begitu sudo memberi Anda hak istimewa root, su -dapat dieksekusi tanpa kata sandi).

Tyler McHenry
sumber
1
+1 penjelasan yang bagus. Jika saya mengkonfigurasi sudo saya, bisakah saya membuatnya tidak memerlukan kata sandi? Itu akan membuat su memerlukan 'no password'?
sixtyfootersdude
1
penjelasan yang jelas
Thiyagu ATR
4
perhatikan bahwa sudo -iini adalah cara yang agak lebih langsung untuk melakukan hal yang sama
Sam Mason
7

Jika Anda diizinkan (konfigurasi sudo) untuk menggunakan superintah, itu meminta Anda untuk kata sandi Anda dan kemudian login Anda sebagai root.

tangens
sumber
2

Jawaban singkat: Anda akan mendapatkan shell root.

Jawaban panjang: berbeda dengan melakukan 'su -' di dalam shell root. Setelah Anda keluar (mis., Ctrl-D) dari 'sudo su -', eksekusi sudo akan berakhir.

Diamati di Debian Wheezy dengan htop:

'sudo su -' memiliki anak 'su -', dan 'su -' memiliki anak '-su'.

Seperti disebutkan di atas, pengguna root dapat melakukan 'su -' tanpa memasukkan kata sandi, sehingga melakukan 'su -' di dalam shell root, Anda akan memiliki dua proses shell root yang berbeda. mengakhiri bagian dalam akan membiarkan Anda kembali ke bagian luar.

CL
sumber