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

Невозможно войти в систему как root

На моей работе мы отправляем наш продукт на предустановленные серверы в виде программного / аппаратного пакета. Мы используем открытый SUSE 10.3 для ОС, настраиваем и всегда входим в систему с пользователем root, чтобы выполнять обслуживание коробки. Недавно нам только что вернули коробку, и покупатель сказал, что он больше не может подключаться к коробке через сетевой интерфейс. Итак, когда я начал работать с ящиком, я столкнулся с этой проблемой: в командной строке для входа в систему я набираю имя пользователя «root» и нажимаю Enter. Тогда даже до того, как он попросит у меня пароль, я получаю «Неправильный вход».

Я никогда раньше не видел такого поведения и не мог найти никакой информации о нем в Интернете. Кто-нибудь знает, что происходит?

Спасибо.

Проверьте свои /var/log/auth.log против неудачного входа в систему root. Вы можете найти что-то похожее на эти:

30 декабря 07:31:51 vps логин [18093]: (pam_securetty) доступ запрещен: tty 'hvc0' небезопасен ! 30 декабря 07:31:51 vps login [18093]: НЕУДАЧНЫЙ ВХОД (1) на 'hvc0' ДЛЯ `root ', ошибка аутентификации

В современных системах используется множество новых технологий, и, например, виртуализированный экземпляр XenServer может иметь консоль как hvc0.

Это можно исправить, включив эту консоль в / etc / securetty. Просто введите: эхо hvc0 >> / etc / securetty && kill -1 1 Затем попробуйте войти еще раз.

некоторые возможности, которые сразу возникают у меня:

  • скорее всего, кто-то сменил пароль root. что может означать, что ящик был взломан.
  • файл passwd или теневой файл каким-то образом был поврежден или удален.
  • то же самое для /etc/nsswitch.conf или вашей конфигурации PAM.

исправить (или, по крайней мере, снова получить root-доступ):

перезагрузите систему. в приглашении grub отредактируйте строку ядра и добавьте «init = / bin / bash». когда система загрузится, вы получите приглашение bash, и корневая fs будет смонтирована только для чтения. вам нужно будет перемонтировать его на RW. затем измените пароль root. затем запустите синхронизацию, снова смонтируйте / как RO и «reboot -f now» (при желании сделайте еще несколько исследований / исправлений перед перезагрузкой).

примечание: однако консоль tty будет в очень странном состоянии. вы не сможете, например, убить процессы, нажав ^ C (потому что ^ C еще не сопоставлен с SIGINT). так что не совершайте ошибку, отправляя пинг в любом месте или выполняя что-либо еще, что продолжается, пока не получит INT. перед тем, как что-либо делать, откройте еще несколько VT с помощью команды openvt.

(Кстати, подробнее об этой теме см. В моем сообщении в блоге ^ C не убивает процессы, SIGINT убивает)

Думаю, сейчас никого не волнует, но я просто столкнулся с этой проблемой.

Сценарий: мы пытаемся загрузить SuSE Linux 11 в режиме восстановления и заменяем запись / etc / shadow на null, чтобы root мог войти в систему без пароля. Результат - то, что было написано на оригинальном плакате: «Неправильный вход в систему» ​​без запроса пароля. Не уверен что, но что-то else изменяется с помощью passwd.

Решение состоит в том, чтобы использовать настоящую команду passwd, а липкая точка - это mount --bind ниже, потому что без нее passwd не работает, так как необходимых блочных устройств нет:

  • (загрузка при спасении)
  • монтировать / dev / sda1 / mnt
  • монтировать --bind / dev / mnt / dev
  • chroot / mnt
  • пароль root

Потом обычные umount, umount, sync, halt.

Надеюсь, это кому-то поможет.

Это по SSH? Большинство дистрибутивов (включая SuSE) по умолчанию отключают root от входа в систему через SSH. Соответствующий параметр - «PermitRootLogin» в / etc / ssh / sshd_config; измените его на «Да» и перезапустите SSHD, посмотрите, работает ли это.

Похоже, что лучше всего использовать живой компакт-диск и посмотреть на фактическую конфигурацию входа в систему.

Какой-то глупый вопрос: у вас сломалась клавиатура?

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

Вот ссылка о том, как это сделать в установке Red Hat:

http://www.redhat.com/docs/manuals/linux/RHL-7.3-Manual/custom-guide/s1-rescuemode-booting-single.html

Надеюсь, что это поможет вам

Это вполне может быть признаком более серьезной проблемы. Даже если вы исправите проблему со входом в систему, вас или вашего клиента могут ждать другие сюрпризы. Возможно, было бы лучше и безопаснее выполнить новую установку и покончить с ней.

В некоторых последних операционных системах Linux нет учетной записи root, которая позволяет входить в систему, вместо этого вы должны войти в систему как обычный пользователь и sudo рутировать. У вас есть еще одна учетная запись для этой машины?

Сначала вам нужно войти в вашу систему. Это можно сделать с помощью

init=/bin/bash

в параметры загрузки ядра. После загрузки вы получаете корневую оболочку без аутентификации, но ничего другого.

Второе, что нужно сделать, это заставить вашу систему работать (таким образом, отлаживать), в то время как у вас есть еще ваша корневая оболочка. Это можно сделать в два этапа. Во-первых, вам нужно открыть символьную консоль с помощью команды

openvt -c 23 -f /bin/bash

Он откроет вторую корневую оболочку на вашей 23-й виртуальной консоли, которую вы можете достичь, нажав alt / стрелку влево на вашей первой виртуальной консоли (позже, из X, вы можете перейти к этой первой виртуальной консоли с помощью alt / ctrl / f1).

После этого вы можете запустить свою систему с помощью команды

exec /sbin/init

Если все прошло нормально, ваша система теперь работает, вы не можете дальше входить в систему, но вскоре вы можете хотя бы попробовать их, пока у вас есть корневая консоль на tty23.

Теперь попробуйте войти в систему и проверить файлы журналов в / var / log, что там написано. Если этого недостаточно, чтобы найти и устранить проблему, этот сайт ждет вас с вашим следующим вопросом и интересными частями журнала ошибок.

Это проблема с модулем аутентификации PAM:

cd /etc/pam.d

Мы также должны отредактировать "su" в /etc/pam.d каталог

sudo nano su

требуется авторизация pam_securetty.so - Эта строка должна быть прокомментирована знаком "#", только root может войти в систему как root, не может, например, изменить другого пользователя на root.

Решено:

В / etc / default / shellinabox я изменил:

SHELLINABOX_ARGS = - без звукового сигнала

кому:

SHELLINABOX_ARGS = "- no-beep --service = /: SSH"

Это загружает оболочку как сеанс SSH. Затем он следует правилам, установленным в / etc / ssh / sshd_config:

PermitRootLogin да

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

НЕМЕДЛЕННО отключите его от сети.

Используйте компакт-диск с liveboot для доступа к файловой системе, если есть что-то, что вам нужно выйти из коробки, но я лично считаю это скомпрометированным. Если резервное копирование машины не выполнялось регулярно, наша политика заключается в том, чтобы предположить, что на ней нет каких-либо важных данных, и просто стереть, переустановить и перенастроить, поскольку на данный момент вы не можете доверять никаким данным на нем. быть троянским или измененным.