$cat /etc/passwd |grep -i root
root:x:0:0:root:/root:/bin/bash
$sudo cat /etc/shadow |grep -i root
root:!:17179:0:99999:7:::
Di bidang kedua file bayangan, !
berarti pengguna root tidak bisa masuk tetapi mengapa saya bisa masuk ke root oleh sudo su
?
Mengapa saya tidak bisa masuk untuk melakukan root pada su root
atau oleh su -
?
permissions
sudo
passwd
shadow
Sinoosh
sumber
sumber
Jawaban:
Sebuah
!
dishadow
terenkripsi berarti field password entri yang tidak ada password dapat mengotentikasi terhadap itu. Dariman shadow
:Seperti yang dikatakan manual, ini tidak berarti bahwa Anda tidak dapat login sebagai root. Ini berarti bahwa Anda tidak dapat masuk sebagai root menggunakan kata sandi untuk akun root. (Anda dapat masuk sebagai root melalui SSH menggunakan kunci SSH, misalnya, jika Anda telah mengonfigurasinya sebelumnya, bahkan jika akun terkunci.)
sudo
biasanya mengautentikasi dengan kata sandi Anda , bukan kata sandi. Ini dapat diubah dengan mengatur salah satutargetpw
,rootpw
ataurunaspw
dalamsudoers
. Jika Anda menetapkan satu opsi ini, dan mencoba menggunakan kata sandi ketika kata sandi terkunci, itu akan gagal .sumber
Sekarang mari kita lihat perintah yang sesuai:
sudo su
:sudo
menjalankan perintahsu
(pengguna pengganti) dengan hak akses root sehingga meskipun/etc/shadow
kata atau memilikinyaroot:!:17179:0:99999:7:::
masih menjalankan perintah dengan hak akses root.su -
atausu root
:/etc/shadow
file tidak bisa masuk sehingga menggunakan perintah ini tidak akan berfungsi. Jika Anda ingin mereka bekerja maka akun root harus dibuka dengan memberikannya kata sandi.Ringkasan:
su -
0rsu root
beralih ke root pengguna , tidak ada sehingga tidak bisa terjadi, tetapisudo su
jalankan perintah switch denganroot
hak istimewa, jadi dalam kasus ini akan pergi jika Anda berada disudo
grup. Anda sebenarnya tidak masuk sebagai root dalam kasus ini, hanya bertindak sebagai root sehingga ia akan pergi.Sumber: Apa perbedaan antara 'su -' dan 'su root'?
sumber
sudo su
tidak melihat bidang lulus dalam file bayangan?sudo su
adalah cara yang salah untuk menjalankansudo sh
atausudo bash
.