web-dev-qa-db-ja.com

PolicyKitログ出力の場所

次のような新しい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()の場合は生成しません。これらの呼び出しのログメッセージはどこにありますか?

1
Keidax

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_にあります。

ソース: / var/log/secure 14.04には存在しません、他に選択肢はありますか?

1
Sylvain Pineau