Як перевірити, чи не ввімкнено мій кореневий пароль (логін)?


10

Я випадково увімкнув (встановив) свій корінний пароль (за замовчуванням він заблокований), і тепер я хочу його "скасувати". Я використав обидві команди

sudo usermod -p '!' root

і

sudo passwd -dl root

в тому порядку.

Як перевірити, чи не заблоковано акаунт root?

Відповіді:


18

Ви можете використовувати passwdкоманду:

# 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

Від 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.

Показані дані зберігаються у /etc/shadowфайлі, в якому зберігаються зашифровані паролі.

Наприклад, після кожної з вищевказаних passwdкоманд станами були:

1:root:$6$............long hash...............::::::
1:root:!$6$........same long hash.............:16478::::::
1:root::16478::::::

5

Одна з можливостей - заглянути в / etc / passwd, ввівши

grep root /etc/passwd

Він повинен показувати рядок, який починається так, як root:x: ......x вказує на те, що зашифровані паролі зберігаються у тіньовому файлі. Якщо це так, ми розглянемо це, запустивши

sudo grep root /etc/shadow

(тіньовий файл потребує відкриття судо-файлу!) Ви повинні отримати рядок, що починається, як і наступний, у результаті, root:!: ......якщо !або *сигналізує про те, що обліковий запис вимкнено. Будь-яке інше значення (не починаючи з! Або *) після root:вказувало б робочий пароль.


дякую, але мені просто цікаво, чи є якийсь файл, який містить цю інформацію?
квітня

Я трохи дослідив і додав ще одну частину до своєї відповіді, відкривши доступ до файлів, де зберігаються паролі, так, як ви цього хотіли.
Байт-командир

Я спробував вашу першу пропозицію, і це неправильно, sudo все ще використовує пароль користувача. Відредагований пункт працює, тобто інформація , яку я шукав
nobru

Джерелом даних є man passwd.5іman shadow.5
Сергій Г

0

Легко.

Натисніть Ctrl + Alt + F1. Це виведе на окремий термінал. Спробуйте увійти як корінь, ввівши rootсвій логін та вказавши пароль.

Якщо ввімкнено кореневий обліковий запис, вхід буде працювати. Якщо кореневий обліковий запис вимкнено, вхід не вдасться.

Щоб повернутися до GUI, натисніть Ctrl + Alt + F7.


Для цього вам не потрібно пройти весь шлях до TTY. suЗробити це буде просто .
муру

дякую, я спробував і тепер він заблокований. Але мені цікаво, чи є якийсь файл, який я можу відкрити і перевірити. Скажімо, гіпотетично я не можу запам'ятати пароль, який я ввів, і немає можливості встановити ще один користувач із sudo від користувача, тому я хочу перевірити якийсь файл входу, чи він існує.
квітня

0

За замовчуванням при установці Ubuntu ви не повинні знати root-пароля. Він існує, але користувач не повинен цього знати. Звичайно, адміністратор може змінити пароль, sudo passwdале це, як правило, не повинно бути необхідним, якщо ви не знаєте, що ви робите, і чому це робите.

Файл, який містить інформацію про всі паролі користувачів, є, /etc/shadow і кожен запис у цьому файлі шифрується. Тому, якщо зловмисник не отримав доступ до вашої системи та не вкрав цей файл, він або вона взагалі не зможе ввести корінь. Завжди завжди є можливість, отже, я пропоную вам відключити будь-які функції віддаленого доступу: telnet (не включено за замовчуванням), ssh, віддалений робочий стіл тощо. Отримайте nmapінструмент та скануйте вашу систему, sudo nmap localhostщоб побачити, які порти можуть бути відкриті на вашому система. Також придбайте собі брандмауер; ubuntu поставляється з брандмауером ufw, який простий у використанні та виконує роботу досить добре.

Серед інших методів, ви можете протестувати кореневий рахунок sudo -i

У /etc/sudoersфайлі, ви повинні мати такий рядок: sudo -i. Якщо ви не можете ввійти як root, ви не бачите # як підказку, тоді обліковий запис заблоковано

Defaults env_reset,timestamp_timeout=30

timestamp_timeout повідомить sudo знову просити пароль через 30 секунд, щоб ви весь час не входили з правами root. Це один із способів забезпечення вашої системи.

Негативним побічним ефектом зміни кореневого пароля є те, що якщо ви забудете пароль або інший користувач у вашій системі забуде пароль, ви не матимете доступу до root. Я не знаю жодних випадків, але завжди є можливість зіпсувати систему, тому що деякі процеси працюють як root, і якщо ви заблокуєте root-акаунт, можливо, вони можуть працювати неправильно або зовсім.

Я настійно рекомендую вам ознайомитися man sudoers, man passwd,людина тінь`.

Удачі та сподівання, що це допомагає!


0

ловити одну команду вкладиша для звіту про паролі всіх існуючих користувачів у Linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.