View previous topic :: View next topic |
Author |
Message |
Treborius Guru
Joined: 18 Oct 2005 Posts: 585 Location: Berlin
|
Posted: Sat Jan 19, 2019 7:34 am Post subject: polkit hibernate, multiple users [circumvented] |
|
|
Guten morgen, ich habe seit kurzem folgendes Problem,
immer wenn ich meinen Rechner in den hibernate schicken möchte,
ärgert mich polkit mit einer root-Passwort-Abfrage
"Authentication required"
System policy prevents hibernating the system when other users are logged in.
Details =>
Action: Hibernating when multiple users are logged in
Code: |
#who
root tty1 2019-01-18 19:57
ick tty7 2019-01-18 19:58 (:0)
ick pts/1 2019-01-18 19:58 (:0)
ick pts/0 2019-01-18 19:58 (:0)
ick pts/2 2019-01-18 19:58 (:0)
|
Das System ist nur für mich alleine bestimmt.
Kann mir jemand vielleicht sagen, wo ich das umstelle?
Oder noch lieber: bekomme ich ohne große Schwierigkeiten das polkit von meinem System?
Viele Dank im Voraus,
Treb _________________ Systems running gentoo :
Desktop, Laptop, ZOTAC AD-10 media-center, odroid-xu4 server / wLan-router
Last edited by Treborius on Fri Jan 25, 2019 5:51 pm; edited 2 times in total |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1924 Location: Schweiz
|
Posted: Sun Jan 20, 2019 9:31 am Post subject: |
|
|
Du kannst polkit keinen Vorwurf dafür machen wenn es genau das tut was es soll. Es wäre wohl besser wenn du herausfindest wo diese zusätzlichen User-Anmeldungen eigentlich herkommen und das abstellst, den durch das entfernen von polkit werden die kaum verschwinden. _________________ Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW |
|
Back to top |
|
|
bbgermany Veteran
Joined: 21 Feb 2005 Posts: 1844 Location: Oranienburg/Germany
|
Posted: Mon Jan 21, 2019 10:13 am Post subject: |
|
|
Hi,
Wie wechselst du denn in den Suspend-to-Disk Modus? Im X oder via Konsole. Eventuell reicht es schon, wenn du die Anmeldung von root auf der Konsole beendest, dass die PW Abfrage kommt. Ist zumindest bei mir auf dem Laptop so, wenn ich den Herunterfahren möchte und auf einer oder mehreren Konsolen ist root angemeldet.
MfG. Stefan _________________ Desktop: Ryzen 5 5600G, 32GB, 2TB, RX7600
Notebook: Dell XPS 13 9370, 16GB, 1TB
Server #1: Ryzen 5 Pro 4650G, 64GB, 16.5TB
Server #2: Ryzen 4800H, 32GB, 22TB |
|
Back to top |
|
|
schmidicom Veteran
Joined: 09 Mar 2006 Posts: 1924 Location: Schweiz
|
Posted: Mon Jan 21, 2019 11:35 am Post subject: |
|
|
Ich habe mir jetzt mal die Polkit-Aktion für suspend/hibernate und co (siehe "/usr/share/polkit-1/actions/org.freedesktop.login1.policy") etwas genauer angesehen und eigentlich ist es folgendermaßen geregelt:
Aus einer aktiven User-Session heraus darf der Computer bei multiplen aktiven Anmeldungen immer ohne Authentifizierung in den Suspend/Hibernate-Modus geschickt werden, lediglich beim Herunterfahren wird eine Admin-Authentifizierung nötig. Auch eine Authentifizierung wird nötig sobald irgend ein Programm versucht das Herunterfahren oder den Suspend/Hibernate zu blockieren (geregelt über die drei Aktionen "org.freedesktop.login1.halt-ignore-inhibit", "org.freedesktop.login1.suspend-ignore-inhibit" und "org.freedesktop.login1.hibernate-ignore-inhibit").
Ohne genau zu wissen wie und unter welchen Bedingungen du deinen Computer in den Schlafmodus schickst ist es unmöglich zu sagen warum du eine Authentifizierung bekommst. Aber es gäbe eine Möglichkeit deinem Benutzer einfach immer das Recht dazu zu erteilen.
Erstelle folgende Datei (Zugriffsrechte: 0644, Besitzer/Gruppe: polkitd/root) und ersetze darin alle DEIN-USER-NAME durch den Benutzernamen unter dem du auf deinem Gerät angemeldet bist:
/etc/polkit-1/rules.d/10-sleep_for_user.rules: | polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.halt" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.halt-multiple-sessions" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.halt-ignore-inhibit" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.suspend" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.suspend-multiple-sessions" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.suspend-ignore-inhibit" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.hibernate" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.hibernate-multiple-sessions" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
});
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.login1.hibernate-ignore-inhibit" &&
subject.user == "DEIN-USER-NAME") {
return polkit.Result.YES;
}
}); |
Verweise:
- https://wiki.gentoo.org/wiki/Polkit
- https://wiki.archlinux.org/index.php/Polkit
- https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html _________________ Lenovo - ThinkPad P16s Gen 2 - 21K9CTO1WW |
|
Back to top |
|
|
Treborius Guru
Joined: 18 Oct 2005 Posts: 585 Location: Berlin
|
Posted: Fri Jan 25, 2019 5:49 pm Post subject: |
|
|
bbgermany wrote: | Hi,
Wie wechselst du denn in den Suspend-to-Disk Modus? Im X oder via Konsole. Eventuell reicht es schon, wenn du die Anmeldung von root auf der Konsole beendest, dass die PW Abfrage kommt. Ist zumindest bei mir auf dem Laptop so, wenn ich den Herunterfahren möchte und auf einer oder mehreren Konsolen ist root angemeldet.
MfG. Stefan |
Bisher habe ich über den kde-hibernate button, den Rechner in den Tiefschlaf geschickt.
Nun geht dieser Button überhaupt nicht mehr.
mich als root abzumelden, zerstört meinen Haupt-Anwendungszweck von hibernate,
nämlich den Rechner schlafen zu legen wenn z.B. ein emerge zu lange dauert,
und ich ihn morgen einfach weiter machen möchte.
Naja da der kde-Button eh nicht mehr funzt, mach ich es jetzt wieder in der root-konsole mit
Ist nur ärgerlich wenn etwas, was über Jahre einfach so funktioniert hat, in sich zusammenbricht.
@schmidicom
Danke für deine Bemühungen, aber da ich nun über kde den Rechenr überhaupt nicht mehr hibternated bekomme...
Ich kann mit der konsolen lösung leben. Wenn ich mal wieder Zeit fürs fummeln habe, werde ich das Problem nochmal angehen _________________ Systems running gentoo :
Desktop, Laptop, ZOTAC AD-10 media-center, odroid-xu4 server / wLan-router |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|