Sudo su vs su linux

24

Jika saya memasukkan kata sandi suketika diminta, itu tidak berfungsi sementara sudo sutidak. Juga, ketika sebuah perintah dieksekusi menggunakan sudo (command), apakah sudo secara otomatis menjalankannya dengan root secara default (karena halaman manual mengatakansudo, sudoedit - execute a command as another user

michaelxu@michaelxu-server:~$ su
Password:
su: Authentication failure
michaelxu@michaelxu-server:~$ sudo su
[sudo] password for michaelxu:
root@michaelxu-server:/home/michaelxu# exit
agz
sumber

Jawaban:

41

Itu karena sumeminta kata sandi pengguna yang Anda ubah (yang secara default adalah root) sambil sudomeminta kata sandi akun pengguna Anda sendiri dan memeriksa apakah Anda diizinkan untuk menjalankan perintah.

Ketika Anda menjalankan sudo suAnda diminta sudountuk menjalankan perintah susebagai root, yang memberi Anda shell root. Jika Anda hanya menggunakan suAnda harus mengetahui kata sandi pengguna target untuk memiliki akses.

Menggunakan sudotanpa parameter menyiratkan bahwa Anda ingin menggunakan root. Jika Anda ingin menjalankan perintah sebagai pengguna lain, cobasudo -u <username> <command>

Renan
sumber
7
Satu informasi penting lainnya untuk memahami perintah terkait sudo su otheruseradalah sumemungkinkan root untuk beralih ke pengguna mana pun tanpa memasukkan kata sandi mereka, sementara pengguna non-root yang menjalankan suharus memasukkan kata sandi pengguna target. sudo sukarena itu berjalan susebagai root, yang memungkinkan Anda untuk mendapatkan shell untuk pengguna lain tanpa mengetahui kata sandi mereka (asalkan diizinkan oleh sudoers).
Lie Ryan
Jadi, apa kata sandi root saya untuk perintah "su"? Kenapa bukan password yang saya atur di awal instalasi?
AGZ
Karena distribusi Anda mungkin tidak menyetelnya. Anda dapat mengatur kata sandi root berjalan sudo passwd(pertama-tama berikan kata sandi pengguna Anda, lalu pilih kata sandi root baru).
Renan
Jadi saat ini tidak ada kata sandi? ... jadi pada dasarnya root hanyalah sebuah akun yang dapat digunakan sudoer untuk melakukan perubahan pada file root?
agz
bukan hanya itu, ada banyak layanan lain yang harus dijalankan sebagai root (centang ps aux).
Renan
17

susingkatan dari s witch (atau s ubstitute) u ser. Tanpa diberikan nama pengguna, defaultnya adalah beralih ke root. Ini meminta kata sandi pengguna yang Anda gunakan.

sudodigunakan untuk menjalankan perintah sebagai root (yaitu, dengan izin root), atau sebagai pengguna lain. Ini meminta kata sandi Anda, dan memeriksa apakah Anda diizinkan untuk menggunakan sudo.

Saat Anda mengetik su, Anda diminta untuk beralih ke root, dan kata sandi yang diminta adalah kata sandi root. Saat Anda mengetik sudo su, Anda diminta untuk menjalankan perintah untuk beralih ke root sebagai root , jadi kata sandi yang Anda minta adalah milik Anda.

ForeverWintr
sumber
1

... dan untuk memperbaiki masalah tidak bisa menggunakan 'su' sendirian, sudo ke shell root, dan mengatur kata sandi untuk root, dengan 'chpass'.

Nevin Williams
sumber