[Решено] Можно ли включить root?

Автор MultiGramen, 23 августа 2018, 03:50:52

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

MultiGramen

Доброго времени суток!

Суть проблемы: поскольку я управляю сервером по ssh, хочется отключить возможность подключения стандартными именами. Одно из таких всем известно — root.
Пошарив в интернете, я нашёл команду  passwd -l root

После её выполнения я вошёл под своим обычным пользователем и обнаружил, что команда su стала выдавать следующую ошибку:
Цитироватьsu: Сбой при проверке подлинности
Что меня честно говоря удивило, поскольку на Ubuntu я спокойно выключал суперпользователя, и при надобности получал привелегии командой su

Проблема в том, что физического доступа к серверу у меня нет, поэтому вопрос: возможно ли получить в этом случае права супепользователя или без физического доступа это сделать не получится?

ogost

Поздравляю, меткий выстрел! Могу лишь посочувствовать, сам единожды попадал примерно в такую же ситуацию (правда там сценарий был другой, но выстрел был такой же меткий).

man passwd
...
-l
This option is used to lock the specified account and it is available to root only.
The locking is performed by rendering the encrypted password into
an invalid string (by prefixing the encrypted string with an !).

Пароль суперпользователя теперь изменился, а эта команда доступна только ему. Как это устроено в убунту мне неизвестно, возможно у вас был настроен sudo.
Цитата: MultiGramen от 23 августа 2018, 03:50:52Суть проблемы: поскольку я управляю сервером по ssh, хочется отключить возможность подключения стандартными именами.
Это делается в настройках ssh. По умолчанию в дебиане с восьмой версии, если не ошибаюсь, нельзя подключиться по ssh под рутом.
Цитата: MultiGramen от 23 августа 2018, 03:50:52Проблема в том, что физического доступа к серверу у меня нет, поэтому вопрос: возможно ли получить в этом случае права супепользователя или без физического доступа это сделать не получится?
Если нет пользователя с правами sudo, то средствами самого дебиана - никак. Если же у вас сервер - виртуальная машина, есть два варианта. Либо можно в при загрузке в GRUB прописать кое-какие параметры и сменить пароль суперпользователя. Гуглить "grub root password reset". Либо загрузиться с LiveCD и отредактировать файл, содержащий пароли (/etc/shadow) и убрать восклицательный знак перед хешем пароля.

endru

Сначала нужно было прочитать что делает команда passwd с ключем -l, после почитать про команду su, и что по факту она делает.
Сейчас только физический доступ к серверу поможет, чтобы установить пароль.

чтобы использовать рута, в который заблокирован вход по паролю, есть несколько способов:
1) использовать sudo.
2) использовать вход по публичному ssh ключу.

оба способа нужно было предварительно настроить, прежде чем блокировать рута.
Выстрел в ногу удался на славу!

MultiGramen

Ясно, спасибо! усвоил большой урок на будущее. Буду просить доступ к серверу и в LIVE режиме править  /etc/passwd

ogost

сами пароли в зашифрованном виде хранятся в /etc/shadow, в /etc/password храняться прочие настройки пользователей

MultiGramen

#5
Цитата: ogost от 23 августа 2018, 05:09:25
сами пароли в зашифрованном виде хранятся в /etc/shadow, в /etc/password храняться прочие настройки пользователей
Так ведь можно изменить права обычного пользователя, поменяв там двоичные данные, тем самым мой пользователь станет суперпользователем, или я ошибаюсь? Мне такой способ показался более простым  :)

endru

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