Как активировать SSH с помощью NetworkManager

Выполнить команду от имени другого пользователя

чтобы запустить что-то от имени другого пользователя, у нас есть разные методы:

  • machinectl:это создает отдельный сеанс

  • ssh:это создает отдельный сеанс

  • systemd -run:это не создает отдельный сеанс, а создает отдельный сервисный блок, которым можно управлять так же, как и сеансом. например, когда я запускаю loginctl session-status, я получаю эту ошибку:Could not get properties: Caller does not belong to any known sessionиз-за отсутствия идентификатора сеанса.

  • pkexec:это не создает отдельный сеанс

  • sudo:это не создает отдельный сеанс

Как передать пароль в терминале (без графического интерфейса)

мы можем использовать:

  • pkexec:это нужно pkttyagent

  • machinectl:это запрос пароля с помощью графического интерфейса, чтобы использовать tty для прохода, нам нужен pkexec/sudo или ssh

  • systemd -запустить:это запросить пароль с помощью графического интерфейса, чтобы использовать tty для прохода, нам нужен pkexec/sudo или ssh

  • sudo:sudo необходимо заменить на pkexec

  • ssh:для этого потребуется пароль root или нам нужно использовать pkexec/sudo или ssh user@localhost

Заключение:

только machinectl и ssh дали мне отдельную сессию, systemd -run тоже неплох, но он для скриптов, а не для создания сессий.

и для получения root мы можем использовать pkexec

  • автомат
    timeout 3s sshpass -e pkttyagent -p $(echo $$) &
    pkexec machinectl shell --uid=root --setenv="DISPLAY=:1.0" --setenv=SHELL=/bin/bash.host /bin/bash -lc "startxfce4"
  • сш
    timeout 3s sshpass -e pkttyagent -p $(echo $$) &
    pkexec ssh -t root@localhost  "bash -lc  'export DISPLAY=:1.0 ; startxfce4'"
  • системд -запустить
    timeout 3s sshpass -e pkttyagent -p $(echo $$) &
    pkexec systemd-run --pty --pipe --wait --collect --service-type=exec --uid=root bash -lc "export DISPLAY=:1.0 ; export SHELL=/bin/bash ; startxfce4"

pkttyagent :нужен для того, чтобы заставить pkexec запрашивать пароль с помощью терминала вместо диалогового графического интерфейса

тайм-аут 3 с :необходим, потому что pkttyagent не умрет в одиночку.

0
03.11.2020, 21:26
1 ответ

Документы, которые я искал, относились к wifi.wake-on-lan, а не к 802-3-ethernet.wake-on-lan. Для последнего параметры такие же, как и для ethtool, поэтому вы можете просто использовать unicast.

урок :иногда можно попробовать самому и посмотреть, что работает .

0
18.03.2021, 22:53

Теги

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