Заблокирован доступ к серверу RedHat

Заблокирован доступ к серверу RedHat

Я уже несколько лет являюсь администратором Linux и знаю, что могу изменить пароль root, когда перезагружаю систему с работающей системой и монтирую / или /etc (в зависимости от дистрибутива каталога). Теперь у меня проблема посерьезнее.

Я думаю, что что-то пошло не так, когда я использовал VI, и первая строка /etc/passwd изменила первую букву на заглавную. Так что теперь вместо root есть Root. Есть ли способ изменить это как обычный пользователь?

Он работает на сервере Cisco, и я даже могу получить доступ к системе через iLO и KVM-переключатель. Так что есть способы попасть в систему. Но это система 24/7, поэтому я не могу выключить сервер.

Я был бы признателен за любую помощь, которую вы мне можете оказать. Спасибо.

решение1

UID 0 не называется "root", но это не значит, что вы заблокированы. Вот система после того, как я вручную отредактировал /etc/passwdи /etc/shadowснова вошел в систему под новым именем root:

SuperUser@sf:~# id
uid=0(SuperUser) gid=0(Root) groups=0(Root)

Используйте написание, в /etc/shadowкотором есть фактические хешированные пароли. Однако только root может прочитать этот файл. Возможно, вы хотите "root", если вы только изменили passwd на "Root".

Вы не можете редактировать passwd как обычный пользователь, это нарушает его безопасность. Пользователь может выдавать себя за кого угодно, в том числе стать uid 0.


Вам не нужен текстовый редактор для изменения пользователей в локальных файлах. Смотрите страницу руководства usermodи соответствующие команды из shadow-utils.

Администратор ОС должен иметь какой-то способ стать root из своего обычного личного пользователя. Например, sudoправила или известный пароль. Если вы хотите изменить логин root, вы являетесь администратором ОС.

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

решение2

У вас нет sudoerв системе, к которой у вас есть доступ? Если нет, вам нужно найти эксплойт в системе. Возможно, что-то, что выполняет cron root, который доступен для записи вашему пользователю. Проверьте, /var/spool/cron/rootприменимо ли что-нибудь.

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

Далее найдите программы с setuid()соответствующим установленным битом sticky и посмотрите, можно ли там что-то использовать.

Если это система, которая собрана «из коробки», то, скорее всего, у вас проблемы, и вам придется выключить ПК, смонтировать диск как подчиненный на другом хосте Linux и изменить файл оттуда.

Удачи!

решение3

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

Извините, чувак, я долго сижу здесь, размышляя, как решить эту проблему, но боюсь, что ничего нельзя сделать без повышения прав пользователя до uid 0 из этой системы (sudo) или запуска работающей системы для физического доступа к данным с uid 0.

Связанный контент