GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Pkexec – So legen Sie ein benutzerdefiniertes Timeout für Auth_admin_keep fest, wenn Sie eine Pkexec-Richtlinie schreiben

Ich habe gerade das Referenzhandbuch gelesen, das von David Z für pkexec auf freedesktop.org geschrieben wurde:

https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html

und

https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html

Das Handbuch sagt, dass die Verwendung der Option auth_admin_keep Ihr ​​Passwort nur für 5 bis 15 Minuten speichert und dass wir benutzerdefinierte Regeln schreiben müssen, wenn wir benutzerdefinierte Zeitüberschreitungen festlegen möchten.

Weiß jemand, wie ich eine benutzerdefinierte Regel für die Zeitüberschreitung schreiben kann? Ich habe versucht, dem Handbuch zu folgen, aber ich bin kein Programmierer und konnte die Syntax nicht verstehen, nein, es gab keine Erwähnung von Timeout-bezogener Syntax.

Akzeptierte Antwort:

Leider scheint das Timeout in der PolicyKit-Upstream-Quelle in der Datei src/polkitbackend/polkitbackendinteractiveauthority.c als 5 Minuten fest codiert zu sein .

In den Zeilen 3231-3236 heißt es:

/* TODO: right now the time the temporary authorization is kept is hard-coded - we
 *       could make it a propery on the PolkitBackendInteractiveAuthority class (so
 *       the local authority could read it from a config file) or a vfunc
 *       (so the local authority could read it from an annotation on the action).
 */
 expiration_seconds = 5 * 60;

Daher ist das Timeout im Quellcode auf 5 Minuten eingestellt, und es gibt derzeit keine Vorkehrungen, es zu ändern, ohne die entsprechenden Teile von PolicyKit neu zu kompilieren.

Andererseits scheint OpenSuSE Leap 15 diese Funktionalität erweitert zu haben. Sie scheinen den ..._keep neu interpretiert zu haben Aktionen so, dass sie bedeuten „Authentifizierung merken, während der Anfrageprozess läuft“, und ..._keep_session hinzugefügt und ..._keep_always Aktionen, die „für die Gesamtheit dieser spezifischen Anmeldesitzung merken“ bzw. „für immer merken“ bedeuten.


Linux
  1. So richten Sie SPF für zusätzliche E-Mail-Authentifizierung ein

  2. Automount Nfs:Autofs-Timeout-Einstellungen für unzuverlässige Server – Wie vermeidet man Hangups?

  3. So legen Sie die Prozess-ID in Linux für ein bestimmtes Programm fest

  4. Wie kann ich das aktuelle Datum und die aktuelle Uhrzeit im Terminal abrufen und einen benutzerdefinierten Befehl im Terminal dafür festlegen?

  5. Wie installiere/erstelle ich eine benutzerdefinierte Eingabeaufforderung für die Fischschale?

So richten Sie die Zwei-Faktor-Authentifizierung für cPanel ein

So führen Sie einen Befehl für eine bestimmte Zeit in Linux aus

So richten Sie den PXE-Start für UEFI-Hardware ein

Wie behalte ich dieses Menü?

Wie richte ich Tls für Postfix unter Ubuntu ein?

So richten Sie einen Linux-Killswitch für VPNs ein