1
Server / Polkit: pravidlo pro systemd template službu
« kdy: 27. 06. 2020, 11:50:17 »
Mám systémovou službu a potřebuju, aby byla obsluhovaná konkrétním uživatelem. Bohužel služba je jen template, a její celé jméno dopředu nevím: my-daemon@<serie alfanumerickych znaku>.service .
Zápis pravidla tímto způsobem funguje perfektně:
Jen to nefunguje obecně pro template služby, ale pro jedno konkrétní jméno. Zkoušel jsem například tyto zápisy, ale nezdá se, že by polkit dovolil nasadit regexp.
Našel jsem podobný problém, bohužel řešení v mém případě nefunguje, autor testuje jména configů a v mém případě nejsou. https://unix.stackexchange.com/questions/351052/polkit-rule-for-systemd-template-unit-files .
Napadá vás, jak problém vyřešit?
OS Suse 12.5
Polkit version 0.113
Systemd version 228
Zápis pravidla tímto způsobem funguje perfektně:
Kód: [Vybrat]
polkit.addRule(function(action, subject) {
if (action.id == "org.freedesktop.systemd1.manage-units" &&
action.lookup("unit") == "my-daemon@foo1.service" &&
subject.user == "user1") {
return polkit.Result.YES;
}Jen to nefunguje obecně pro template služby, ale pro jedno konkrétní jméno. Zkoušel jsem například tyto zápisy, ale nezdá se, že by polkit dovolil nasadit regexp.
Kód: [Vybrat]
action.lookup("unit") == "my-daemon@*" &&
action.lookup("unit") == "my-daemon@[:alnum:]+" &&
action.lookup("unit") == "my-daemon@foo[0-9]" &&Našel jsem podobný problém, bohužel řešení v mém případě nefunguje, autor testuje jména configů a v mém případě nejsou. https://unix.stackexchange.com/questions/351052/polkit-rule-for-systemd-template-unit-files .
Napadá vás, jak problém vyřešit?
OS Suse 12.5
Polkit version 0.113
Systemd version 228