Назад | Перейти на главную страницу

root принимает любой пароль: как сменить пароль на настоящий?

У меня старая система Linux, к которой можно получить доступ через публичный IP-адрес.

При подключении к порту SSH вы можете войти в систему как root с любым паролем. Единственное ограничение - длина пароля должна быть не менее 1 символа.

В (далеком) прошлом, когда эта система разрабатывалась, это было нормально, поскольку система всегда находилась за модемом коммутируемого доступа, у которого была собственная аутентификация.

Уже несколько лет система подключается через ADSL и имеет общедоступный IP-адрес (без VPN) ... чудесным образом никто никогда не беспокоился о порте SSH ... до прошлой недели ...

На прошлой неделе китайский IP-адрес, подключенный через порт SSH, вошел в систему с учетной записью root, изменил некоторые системные настройки (включая пароль root) и вышел из системы ... Я мог видеть это в /var/log/messages который я мог получить через другой порт.

Как я могу установить настоящий пароль для учетной записи root?

Я пытался установить его с помощью passwd команда, дающая новый пароль, но после этого я все еще мог войти в систему с любым случайным паролем (до и после перезагрузки)

В /etc/shadow в нем говорится следующее об учетной записи root:

root:8ZGWAPs9N9EJQ::::::

В /etc/ssh/sshd_config Я вижу закомментированную следующую строку:

#PermitRootLogin yes

Поскольку "да" является значением по умолчанию, я не вижу в этом ничего плохого.

Немного информации о системе:

логин показывает:

BusyBox v1.00-pre9 (2004.07.09-11:06+0000) Built-in shell (ash)

cat /proc/version дает:

Linux version 2.4.31 (<emailaddress>) (gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)) #4 Thu Sep 22 09:13:06 CEST 2005

Теперь я закрыл порт SSH в брандмауэре модема ADSL, поэтому к нему больше нельзя получить удаленный доступ, что дает мне время для решения этой проблемы.

Я хотел бы дать учетной записи root настоящий пароль, который должен использоваться с любым SSH-соединением, желательно без необходимости перезагружать систему.

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

[РЕДАКТИРОВАТЬ]

как подозревал pingz, это, похоже, вызвано nullok в /etc/pam.d/system-auth

Можно ли отредактировать этот файл и загрузить новые настройки без остановки каких-либо запущенных процессов?

первые строки /etc/pam.d/system-auth шоу :

#%PAM-1.0
# This file is auto-generated.
# User changes will be destroyed the next time authconfig is run.

Если я сейчас удалю nullok из этого файла, и где-то в будущем система будет перезагружена, будет nullok вернусь, или моя сдача останется?

Есть способ отключить пароль пользователя, модуль nullok в PAM.

проверьте эту ссылку для получения дополнительной информации:

http://www.cyberciti.biz/tips/linux-or-unix-disable-null-passwords.html

Если это ваш случай, просто измените эту причудливую конфигурацию.

================================================== ==

Что касается ваших дополнительных вопросов, любые изменения в файлах конфигурации PAM вступят в силу мгновенно, это может привести к блокировке системы по ошибке. Итак, RHEL предоставляет инструменты authconfig / authconfig-tui, чтобы сделать это, как говорится в комментариях. Если вы запустите его, он сбросит конфигурацию для вас. Проверьте страницу руководства authconfig, прежде чем запускать ее.