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

10

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

sudo usermod -p '!' root

и

sudo passwd -dl root

в этой последовательности.

Как проверить, заблокирован ли аккаунт root?

nobru
источник

Ответы:

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

(теневому файлу нужно открыть sudo!). В результате вы должны получить строку, начинающуюся, как показано ниже, root:!: ......где !или *сигнализирует, что учетная запись отключена. Любое другое значение (не начинающееся с! Или *) после root:будет означать рабочий пароль.

Byte Commander
источник
спасибо, но мне просто интересно, есть ли файл, который содержит эту информацию?
Нобру
Я немного исследовал и добавил еще одну часть к своему ответу, получая доступ к файлам, где хранятся пароли, как вы и хотели.
Byte Commander
Я попробовал ваше первое предложение, и это неправильно, sudo все еще использует пароль пользователя. Отредактированный параграф работает, это информация, которую я искал
nobru
Источником данных является man passwd.5иman shadow.5
Сергей Г
0

Легко.

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

Если учетная запись root включена, логин будет работать. Если учетная запись root отключена, авторизация не удастся.

Чтобы вернуться к графическому интерфейсу, нажмите Ctrl + Alt + F7.

mkasberg
источник
Вам не нужно идти весь путь в TTY для этого. Простое suподойдет.
Муру
спасибо, я пытался и теперь он заблокирован. Но мне интересно, есть ли файл, который я могу открыть и проверить. Допустим, гипотетически я не могу вспомнить пароль, который я набрал, и нет возможности установить другой пароль с помощью sudo от пользователя, поэтому я хочу проверить какой-нибудь файл входа в систему, если он существует.
Нобру
0

По умолчанию при установке Ubuntu вы не должны знать пароль пользователя root. Он существует, но пользователь не должен этого знать. Конечно, администратор может изменить пароль, sudo passwdно, как правило, в этом нет необходимости, если вы не знаете, что вы делаете и почему вы это делаете.

Файл, который содержит информацию обо всех пользовательских паролях, /etc/shadow и каждая запись в этом файле зашифрованы. Поэтому, если злоумышленник не получит доступ к вашей системе и не украдет этот файл, он или она вообще не сможет войти в root. Конечно, всегда есть возможность, поэтому я предлагаю вам отключить любые функции удаленного доступа: telnet (по умолчанию не включен), ssh, удаленный рабочий стол и т. Д. Получите nmapинструмент и сканируйте свою систему, sudo nmap localhostчтобы увидеть, какие порты могут быть открыты на вашем компьютере. система. Кроме того, получите себе брандмауэр; Ubuntu поставляется с межсетевым экраном UFW, который прост в использовании и выполняет свою работу достаточно хорошо.

Среди других методов вы можете протестировать учетную запись root с sudo -i

В /etc/sudoersфайле, вы должны иметь такую строку: sudo -i. Если вы не можете войти в систему как пользователь root, вы не видите приглашение # as, тогда учетная запись заблокирована

Defaults env_reset,timestamp_timeout=30

timestamp_timeout скажет sudo запрашивать пароль снова через 30 секунд, чтобы вы не входили в систему с привилегиями root все время. Это один из способов защиты вашей системы.

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

Я настоятельно рекомендую вам прочитать man sudoers, man passwd,чувак.

Желаем удачи и надеюсь, что это поможет!

Сергей Колодяжный
источник
0

перехватить одну команду liner для отчета о пароле всех существующих пользователей в linux sever.

for i in $(cat /etc/passwd | awk -F ':' '{print $1}'); do echo "##############" "$i" "############";chage -l $i; echo "##################################"; done | nl | less
Мистер линукс
источник