私はfreedesktop.orgでpkexecのDavid Zのリファレンスマニュアルを読みました。
https://www.freedesktop.org/software/polkit/docs/latest/polkit.8.html
そして
https://www.freedesktop.org/software/polkit/docs/latest/pkexec.1.html
このマニュアルでは、auth_admin_keepオプションを使用すると、パスワードは5〜15分間だけ保持されることがわかります。カスタムタイムアウトを設定するには、カスタムルールを作成できます。
時間制限のあるカスタムルールを作成する方法を知っている人はいますか?マニュアル通りに試してみましたが、コーダーではないのでSyntaxを理解できず、タイムアウトに関するSyntaxへの言及もありませんでした。
答え1
残念ながら、PolicyKitアップストリームソースコードのタイムアウトは5分でハードコードされているようです。ファイルにsrc/polkitbackend/polkitbackendinteractiveauthority.c
。
3231-3236行を読む:
/* 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;
したがって、ソースコードにはタイムアウトが5分に設定されており、現在PolicyKitの対応する部分を再コンパイルせずに変更できる規定はありません。
一方、OpenSuSE Leap 15はこの機能を拡張したようです。..._keep
彼らはこれらのタスクを「要求プロセスの実行中に認証を記憶する」と再解釈し、「特定の..._keep_session
ログイン..._keep_always
セッション全体について記憶」および「永久に記憶」タスクを追加したようです。