Как заставить агент ssh продолжать переадресацию на экране после отключения?

Мне удалось сбросить права доступа к sudo без перезагрузки в режиме восстановления! Вот что я сделал:

К счастью, systemd по-прежнему позволял мне перезапускать демоны, потому что он аутентифицировался через polkit.

Итак, я создал юнит-файл в своем домашнем каталоге, содержащий:

/home/crlsmdrn/sudo -reset.service:

[Unit]
Description=reset sudo

[Service]
Type=oneshot
ExecStart=/home/crlsmdrn/sudo-reset.sh

[Install]
WantedBy=multi-user.target

Затем я создал файл с именем sudo -reset.sh.

/home/crlsmdrn/sudo -reset.sh:

#!/bin/sh
chmod 4755 /usr/bin/sudo

Тогда:

[crlsmdrn@server ~]$ chmod +x /home/crlsmdrn/sudo-reset.sh

Затем следует включить и запустить службу:

[crlsmdrn@server ~]$ systemctl enable /home/crlsmdrn/sudo-reset.service
[crlsmdrn@server ~]$ systemctl start sudo-reset-service

[crlsmdrn@server ~]$ sudo
usage: sudo -h | -K | -k | -V
usage: sudo -v [-AknS] [-g group] [-h host] [-p prompt] [-u user]
usage: sudo -l [-AknS] [-g group] [-h host] [-p prompt] [-U user] [-u user] [command]
usage: sudo [-AbEHknPS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] [VAR=value] [-i|-s]
            [<command>]
usage: sudo -e [-AknS] [-r role] [-t type] [-C num] [-g group] [-h host] [-p prompt] [-u user] file...

Затем я смог выполнить sudo -s, а затем посмотреть, какие разрешения были нарушены, просмотрев историю bash; похоже, что только /usr/bin был поврежден, поэтому я запустил rpm --setperms -a, который, похоже, исправил разрешения.

После этого не забудьте отключить службу.

Мораль этой истории здесь :никогда не запускайте chown -R root :root в /usr/bin, не ожидая, что все будет работать так же.

2
27.02.2020, 08:58
1 ответ

Если кому-то интересно решение, вам нужно будет добавить следующие параметры в конфигурацию ssh. Это называется мультиплексированием ssh и сохраняет соединения ssh для повторного использования :

.
Host *
  Controlmaster auto
  Controlpath /tmp/ssh-%r@%h:%p
  ControlPersist yes

Итак, теперь, когда вы отключаетесь от своего сеанса screen на хосте, на котором работает ansible, он продолжит работу и повторно использует существующие ssh-соединения, если они были установлены до вашего отключения.

1
28.04.2021, 23:22

Теги

Похожие вопросы