Default saat ini untuk akun root /etc/passwdadalah root:x:0:0:root:/root:/bin/bash.
Mengapa tidak mengaturnya root:x:0:0:root:/root:/usr/sbin/nologin?
Default saat ini untuk akun root /etc/passwdadalah root:x:0:0:root:/root:/bin/bash.
Mengapa tidak mengaturnya root:x:0:0:root:/root:/usr/sbin/nologin?
Jawaban:
Jika itu masalahnya, Anda hanya akan dapat menjalankan perintah dengan sudosatu per satu, tetapi Anda tidak akan dapat memulai shell root. Shell root nyaman dalam banyak kasus, misalnya jika Anda berencana untuk menjalankan beberapa perintah sebagai root dalam satu baris.
Khususnya, Anda tidak bisa lari sudo -i, seperti yang dicatat AlexP. Dari man sudo:
-i, --login Run the shell specified by the target user's password database entry as a login shell.
sudo /bin/bashberhasil melakukan itu?
sudo -ssaya pikir (shell root, tetapi bukan shell login root ). Ini poin yang bagus - dan pada kenyataannya sudo -stampaknya bekerja bahkan ketika cangkang root/usr/sbin/nologin
-i, -s, /bin/bash, dan sebagainya dengan hanya memungkinkan daftar putih perintah, lihat dokumentasi untuk file sudoers. Ini sangat halus, sehingga memungkinkan untuk memungkinkan pengguna untuk menjalankan /etc/init.d/someservice restartsebagai root tanpa mengizinkan mereka untuk menjalankan /etc/init.d/someservice stop. Tetapi default ubuntu hanya untuk tidak menetapkan kata sandi rootdan memungkinkan pengguna admin melakukan semuanya dengan sudo. Mungkin alasannya adalah a) lebih dari satu pengguna admin dan b) Pengguna admin tidak perlu mengingat kata sandi kedua untuk akun root.
Selain jawaban sudo Alberto Santini, ada jawaban lain (jauh lebih baik). Jika shell root diatur ke sesuatu yang bukan shell, booting pengguna tunggal tidak berfungsi. Ada pemulihan suloginuntuk hal-hal seperti cangkang yang tidak ada atau cangkang yang benar-benar rusak, tetapi itu tidak akan berfungsi jika cangkang tersebut tampaknya cangkang yang valid tetapi sebenarnya bukan cangkang.
Anda masih dapat sudolangsung mendapatkan shell dengan menentukan shell sudoagar perlindungannya bahkan tidak bagus.
sudo -i?