LINUX.ORG.RU
решено ФорумAdmin

Не пускает в rescue mode с заблокированным рутом?

 , ,


0

1

Допустим я что-то перемудрил и теперь не могу войти на свою машину. Локально через консоль я тоже не могу зайти, потому как root и юзер у меня заблокированы (во втором поле в /etc/shadow прописано "!!"), да, я сам себе злобный буратино, но предполагалось, что я буду логиниться исключительно через ssh и по ключу (заблокированная учётка этому не препятствует), приходится грузиться с флешки, чрутиться в свою систему, затем ставить пароль для юзера, после перезагружаться, логиниться локально, производить все ремонтные работы, а потом снова блокировать учётку. Выходит долго.

Подумалось, а есть же ведь rescue mode и emergency mode. Гружусь с параметром ядра «systemd.unit=rescue.target» и получаю сообщение «authorization not available», короче с заблокированным рутом в rescue mode входить нельзя.

Можно что-нибудь сделать, чтобы и рута не разблокировать и rescue mode был доступен?

★★★★★
init=/usr/bin/passwd

в параметры ядра должно сработать, если ядро способно примонтировать корневую файловую систему.

anonymous-angler ★☆
()
Ответ на: комментарий от anonymous-angler

Хотя лучше /bin/bash, иначе не получится сделать sync до паники ядра.

anonymous-angler ★☆
()

Можно что-нибудь сделать, чтобы и рута не разблокировать и rescue mode был доступен?

https://github.com/systemd/systemd/blob/main/docs/ENVIRONMENT.md

mkdir -p /etc/systemd/system/rescue.service.d
cat >/etc/systemd/system/rescue.service.d/override.conf <<EOF
[Service]
Environment=SYSTEMD_SULOGIN_FORCE=1
EOF

То же самое проделываешь с emergency.service.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 4)
Ответ на: комментарий от intelfx
systemd 219
+PAM +AUDIT +SELINUX +IMA -APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ +LZ4 -SECCOMP +BLKID +ELFUTILS +KMOD +IDN
# /usr/lib/systemd/system/rescue.service
#  This file is part of systemd.
#
#  systemd is free software; you can redistribute it and/or modify it
#  under the terms of the GNU Lesser General Public License as published by
#  the Free Software Foundation; either version 2.1 of the License, or
#  (at your option) any later version.

[Unit]
Description=Rescue Shell
Documentation=man:sulogin(8)
DefaultDependencies=no
Conflicts=shutdown.target
After=sysinit.target plymouth-start.service
Before=shutdown.target

[Service]
Environment=HOME=/root
WorkingDirectory=/root
ExecStartPre=-/bin/plymouth quit
ExecStartPre=-/bin/echo -e 'Welcome to rescue mode! After logging in, type "journalctl -xb" to view\\nsystem logs, "systemctl reboot" t
ExecStart=-/bin/sh -c "/usr/sbin/sulogin; /usr/bin/systemctl --fail --no-block default"
Type=idle
StandardInput=tty-force
StandardOutput=inherit
StandardError=inherit
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes

# /etc/systemd/system/rescue.service.d/params.conf
[Service]
Environment=SYSTEMD_SULOGIN_FORCE=1
sunny1983 ★★★★★
() автор топика
Ответ на: комментарий от sunny1983

Да, действительно.

Проще всего — скопируй юнит в /etc (то есть в /etc/systemd/system) и поменяй sulogin на sulogin -e. И выпили params.conf.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 2)

с заблокированным рутом в rescue mode входить нельзя.

@intelfx, а че это за бред, кстати? Я ещё худо-бедно могу наплести, что застревание загрузки по несущественным мелочам нужно чтобы отвал мелочей были заметным, но вот эта вот бессмысленная и беспощадная защита от пользователя с физическим доступом мне всегда была непонятна. Да и у кого вообще в эпоху systemd на руте есть пароль?

t184256 ★★★★★
()
Ответ на: комментарий от t184256

застревание загрузки по несущественным мелочам

А кто кроме тебя знает, какие мелочи существенные, а какие нет?

вот эта вот бессмысленная и беспощадная защита от пользователя с физическим доступом мне всегда была непонятна

Так ведёт себя стандартный sulogin. Возможно, стоит написать им с аргументацией, чтобы вызывали sulogin -e по дефолту.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 3)
Ответ на: комментарий от t184256

Это они вернули крутилку, которая была исторически (можно было заменить sulogin на sulogin -e в юните) и потом случайно убрали (когда вызов sulogin перенесли внутрь отдельного бинарника).

А ты говоришь про дефолт и аргументы у тебя другие, чем там.

intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.