次のような新しいPolicyKitルールをデバッグしようとしています。
_polkit.addRule(function(action, subject) {
polkit.log("action=" + action);
polkit.log("subject=" + subject);
if (action.id == "org.freedesktop.udisks2.filesystem-unmount-others"){
return polkit.Result.YES;
}
});
_
しかし、polkit.log()
呼び出しの出力は_/var/log/
_のどこにも見つかりません。 _/etc/rsyslog.d/50-default.conf
_に行を追加してみました
_*.* /var/log/all
_
大量の出力を生成しますが、polkit.log()
の場合は生成しません。これらの呼び出しのログメッセージはどこにありますか?
policykit ドキュメントから:
log()
メソッドは、指定されたメッセージをJavaScriptファイル名と行番号を接頭辞としてシステムロガーに書き込みます。ログエントリは_LOG_AUTHPRIV
_フラグを使用して出力されます。つまり、ログエントリは通常、ファイル_/var/log/secure
_になります。log()
メソッドは通常、ルールのデバッグ時にのみ使用されます。 ActionおよびSubjectタイプには、簡単なロギング用に定義された適切なtoString()
メソッドがあります。たとえば、_polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.policykit.exec") { polkit.log("action=" + action); polkit.log("subject=" + subject); } });
_ユーザーがシェルから_
pkexec -u bateman bash -i
_を実行すると、次のものが生成されます。_May 24 14:28:50 thinkpad polkitd[32217]: /etc/polkit-1/rules.d/10-test.rules:3: action=[Action id='org.freedesktop.policykit.exec' command_line='/usr/bin/bash -i' program='/usr/bin/bash' user='bateman' user.gecos='Patrick Bateman' user.display='Patrick Bateman (bateman)'] May 24 14:28:50 thinkpad polkitd[32217]: /etc/polkit-1/rules.d/10-test.rules:4: subject=[Subject pid=1352 user='davidz' groups=davidz,wheel, seat='seat0' session='1' local=true active=true]
_
このタイプのログイベントは、通常、DebianおよびUbuntuを含むその派生物の_/var/log/auth.log
_にあります。