Default saat ini untuk akun root /etc/passwd
adalah 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/passwd
adalah 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 sudo
satu 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/bash
berhasil melakukan itu?
sudo -s
saya pikir (shell root, tetapi bukan shell login root ). Ini poin yang bagus - dan pada kenyataannya sudo -s
tampaknya 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 restart
sebagai root tanpa mengizinkan mereka untuk menjalankan /etc/init.d/someservice stop
. Tetapi default ubuntu hanya untuk tidak menetapkan kata sandi root
dan 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 sulogin
untuk 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 sudo
langsung mendapatkan shell dengan menentukan shell sudo
agar perlindungannya bahkan tidak bagus.
sudo -i
?