Как настроить dbus, чтобы позволить ssh-пользователю приостанавливать работу сервера?

Я нашел эту ветку и, возможно, могу спасти вас от всего этого.

Помечается как SOLVED. Это, безусловно, решит вашу проблему.

Q. Why I just put link here?
A. It doesn't worth copy and paste things.

Редактировать 1 : это должно быть так:

/dev/sda5 /media/Tejas ntfs defaults,uid=YYYY,gid=XXXX,umask=007 0 0

YYYY ваш идентификатор пользователя, XXXX ваш идентификатор группы.

создать папку Tejas, если ее нет в путем выдачи

sudo mkdir /media/Tejas

Редактировать 2: вы можете попробовать

/dev/sda5 /media/Tejas ntfs-3g defaults,umask=000 0 0

или

/dev/sda5 /media/Tejas ntfs-3g defaults,uid=YYYY,gid=XXXX,umask=007 0 0
8
задан 17 November 2011 в 01:10

3 ответа

Есть два основных способа сделать это и обходной путь:

Либо вам нужно изменить /usr/share/polkit-1/actions/org.freedesktop.upower.policy, установить переменную среды XDG_SESSION_COOKIE в соответствующее значение, либо использовать pm-suspend: [ ! d1]

Модификация /usr/share/polkit-1/actions/org.freedesktop.upower.policy

Применить этот патч:

--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig  2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy   2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
     <defaults>
       <allow_inactive>no</allow_inactive>
       <allow_active>yes</allow_active>
+      <allow_any>yes</allow_any>
     </defaults>
   </action>

(К тегу / секции <action id="org.freedesktop.upower.suspend">), и он тоже будет работать. .

или

XDG_SESSION_COOKIE

Когда вы используете рабочий стол, вы увидите, что $XDG_SESSION_COOKIE имеет одно значение, но в ssh сеанс, у него есть другой. Хранить XDG_SESSION_COOKIE, например. в .dotfile или что-то при запуске настольного компьютера и отправьте его в свой скрипт, который должен сделать это через ssh.

pm-suspend

Или вы могли бы просто отказаться от этого с dbus и UPower и просто выпустить pm-suspend как root и получить его! : -

)
12
ответ дан 25 May 2018 в 23:28
  • 1
    +1 для "просто введите pm-suspend как root и получите его с помощью! & Quot; - доступно в пакете pm-utils. – Bjoern Dahlgren 16 March 2018 в 02:35

Есть два основных способа сделать это и обходной путь:

Либо вам нужно изменить /usr/share/polkit-1/actions/org.freedesktop.upower.policy, установить переменную среды XDG_SESSION_COOKIE в соответствующее значение, либо использовать pm-suspend:

Изменение /usr/share/polkit-1/actions/org.freedesktop.upower.policy

Применить этот патч:

--- /usr/share/polkit-1/actions/org.freedesktop.upower.policy.orig  2011-11-16 19:06:59.274055248 +0100
+++ /usr/share/polkit-1/actions/org.freedesktop.upower.policy   2011-11-16 19:11:15.178864922 +0100
@@ -21,6 +21,7 @@
     <defaults>
       <allow_inactive>no</allow_inactive>
       <allow_active>yes</allow_active>
+      <allow_any>yes</allow_any>
     </defaults>
   </action>

(К тегу / секции <action id="org.freedesktop.upower.suspend">), и он тоже будет работать. .

или

XDG_SESSION_COOKIE

Когда вы используете рабочий стол, вы увидите, что $XDG_SESSION_COOKIE имеет одно значение, но в ssh сеанс, у него есть другой. Хранить XDG_SESSION_COOKIE, например. в .dotfile или что-то при запуске настольного компьютера и отправьте его в свой скрипт, который должен сделать это через ssh.

pm-suspend

Или вы могли бы просто отказаться от этого с dbus и UPower и просто выпустить pm-suspend как root и получить его! : -)

12
ответ дан 2 August 2018 в 04:03

Файлы под /usr/share/polkit-1/actions не предназначены для изменения.

Создайте файл с именем /etc/polkit-1/localauthority/50-local.d/allow_all_ssh-users_to_upower.pkla

[Allow all ssh-users to upower]
Identity=unix-group:ssh-users
Action=org.freedesktop.upower.policy
ResultInactive=no
ResultActive=yes
AllowAny=yes
4
ответ дан 25 May 2018 в 23:28
  • 1
    В ответе есть опечатка - последняя строка должна сказать ResultAny, а не AllowAny. – Emil Styrke 29 March 2018 в 15:35

Другие вопросы по тегам:

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