./notes/

Эмалированное sudo

Или как сломать себе систему.

2023.04.12

Эмалированное sudo

(надеюсь, что эта заметка не причинит никому пользы, потому что надеюсь что никто больше так не зафакапается)

Что будет, если вы выполнили деструктивную команду, которая переписала всю систему на текущего юзера?

$ sudo chown -R $USER:$USER / 

Во-первых, у вас отвалися жопа sudo:

$ sudo su
sudo: /etc/sudoers is owned by uid 1000, should be 0

Во-вторых - ssh:

(other-system)$ ssh user@remote
kex_exchange_identification: Connection closed by remote host

Обязательно отвалится что-то ещё, и без sudo и ssh это не починить.

Чиним sudo

sudo починен!

Чиним ssh

(возможно, тут хватит reboot’а, но мне было страшно его запускать)

От такого неловкого chown’а наверняка слетели права на /run/sshd, о чём sshd пожалуется в логах:

$ grep sshd /var/log/auth.log | grep run
...
... fatal: /run/sshd must be owned by root and not group or world-writable.

Пофиксим:

$ sudo chown root:root /run/sshd*

И сверху перезапустим systemd-logind:

$ sudo systemctl restart systemd-logind

После этих действий ssh должен ожить.

UPD 1

Я снова выстрелил себе в ногу. Запишу доп-действия:

Links