Bagaimana saya memeriksa apakah kata sandi root (login) saya dinonaktifkan?

10

Saya secara tidak sengaja mengaktifkan (mengatur) kata sandi root saya (secara default terkunci), dan sekarang saya ingin "membatalkannya". Saya menggunakan kedua perintah

sudo usermod -p '!' root

dan

sudo passwd -dl root

dalam urutan itu.

Bagaimana saya memeriksa apakah akun root dikunci?

nobru
sumber

Jawaban:

18

Anda dapat menggunakan passwdperintah:

# passwd -S
root P 11/04/2014 -1 -1 -1 -1
# passwd -l root
passwd: password expiry information changed.
# passwd -S 
root L 11/04/2014 -1 -1 -1 -1
# passwd -d root
passwd: password expiry information changed.
# passwd -S 
root NP 11/04/2014 -1 -1 -1 -1

Dari man 1 passwd:

   -S, --status
       Display account status information. The status information consists
       of 7 fields. The first field is the user's login name. The second
       field indicates if the user account has a locked password (L), has
       no password (NP), or has a usable password (P). The third field
       gives the date of the last password change. The next four fields
       are the minimum age, maximum age, warning period, and inactivity
       period for the password. These ages are expressed in days.

Data yang ditampilkan disimpan di /etc/shadow, file yang menyimpan kata sandi terenkripsi.

Misalnya, setelah masing-masing passwdperintah di atas , statusnya adalah:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::
muru
sumber
5

Satu kemungkinan adalah melihat / etc / passwd dengan memasukkan

grep root /etc/passwd

Itu harus menunjukkan garis mulai seperti di root:x: ......mana x menunjukkan bahwa kata sandi terenkripsi disimpan dalam file bayangan. Jika ini masalahnya, kami memeriksanya dengan menjalankan

sudo grep root /etc/shadow

(file bayangan perlu sudo dibuka!) Anda harus mendapatkan garis yang dimulai seperti berikut sebagai hasil di root:!: ......mana !atau *menandakan bahwa akun dinonaktifkan. Nilai lain apa pun (tidak diawali dengan! Atau *) setelahnya root:akan menunjukkan kata sandi yang berfungsi.

Komandan Byte
sumber
terima kasih, tetapi saya hanya ingin tahu, apakah ada file yang berisi informasi itu?
nobru
Saya meneliti sedikit dan menambahkan bagian lain ke jawaban saya, mengakses file tempat kata sandi disimpan, seperti yang Anda inginkan.
Byte Commander
Saya mencoba saran pertama Anda, dan itu salah, sudo masih menggunakan kata sandi pengguna. Paragraf yang diedit berfungsi, itulah informasi yang saya cari
nobru
sumber datanya adalah man passwd.5danman shadow.5
Sergei G
0

Mudah.

Tekan Ctrl + Alt + F1. Ini akan membawa ke terminal terpisah. Cobalah masuk sebagai root dengan mengetikkan rootlogin Anda dan berikan kata sandi.

Jika akun root diaktifkan, login akan berfungsi. Jika akun root dinonaktifkan, login akan gagal.

Untuk kembali ke GUI Anda, tekan Ctrl + Alt + F7.

mkasberg
sumber
Anda tidak perlu pergi jauh ke TTY untuk itu. Sederhana suakan dilakukan.
muru
terima kasih, saya sudah mencoba dan sekarang sudah terkunci. Tapi saya heran apakah ada file yang bisa saya buka dan periksa. Katakanlah secara hipotetis saya tidak dapat mengingat kata sandi yang saya ketikkan, dan tidak ada opsi untuk mengatur yang lain dengan sudo dari pengguna, jadi saya ingin memeriksa beberapa file login jika ada.
nobru
0

Secara default ketika Anda menginstal Ubuntu Anda tidak harus tahu kata sandi root. Itu ada, tetapi pengguna seharusnya tidak mengetahuinya. Seorang admin, tentu saja, dapat memilih untuk mengubah kata sandi dengan sudo passwdtetapi umumnya itu tidak perlu, kecuali Anda tahu apa yang Anda lakukan dan mengapa Anda melakukannya.

File yang berisi informasi tentang semua kata sandi pengguna adalah /etc/shadow dan setiap entri dalam file itu dienkripsi. Jadi, kecuali seorang penyerang mendapatkan akses ke sistem Anda dan mencuri file ini, ia seharusnya tidak dapat memasukkan root sama sekali. Selalu ada kemungkinan, tentu saja, oleh karena itu saya sarankan Anda menonaktifkan semua fitur akses jarak jauh: telnet (tidak diaktifkan secara default), ssh, desktop jarak jauh, dll. Dapatkan nmapalat sendiri dan pindai sistem Anda dengan sudo nmap localhostuntuk melihat port apa yang mungkin terbuka pada Anda sistem. Juga, buat sendiri firewall; ubuntu hadir dengan ufw firewall, yang mudah digunakan dan melakukan pekerjaan dengan cukup baik.

Di antara metode lain, Anda dapat menguji akun root sudo -i

Dalam /etc/sudoersberkas, Anda harus memiliki baris seperti ini: sudo -i. Jika Anda tidak dapat masuk sebagai root, Anda tidak melihat # sebagai prompt, maka akun terkunci

Defaults env_reset,timestamp_timeout=30

timestamp_timeout akan memberi tahu sudo untuk meminta kata sandi setelah 30 detik lagi, sehingga Anda tidak masuk dengan hak akses root sepanjang waktu. Ini adalah salah satu cara untuk mengamankan sistem Anda.

Efek samping yang merugikan dari mengubah kata sandi root adalah jika Anda lupa kata sandi atau pengguna lain di sistem Anda lupa kata sandi, Anda tidak akan memiliki akses ke root. Saya tidak mengetahui kejadian apa pun, tetapi selalu ada kemungkinan untuk mengacaukan sistem, karena beberapa proses dijalankan sebagai root, dan jika Anda mengunci akun root ada kemungkinan itu mungkin tidak bekerja dengan benar atau sama sekali.

Saya sangat menyarankan Anda membaca man sudoers, man passwd,man shadow`.

Semoga berhasil dan semoga ini membantu!

Sergiy Kolodyazhnyy
sumber
0

catch bleow one liner command untuk laporan kata sandi dari semua pengguna yang ada di linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Tuan Linux
sumber