J'essaie de déboguer une nouvelle règle PolicyKit qui ressemble à ceci:
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;
}
});
Mais je ne trouve pas la sortie des appels polkit.log()
dans /var/log/
. J'ai même essayé d'ajouter une ligne à /etc/rsyslog.d/50-default.conf
*.* /var/log/all
qui produit beaucoup de sortie, mais pas pour polkit.log()
. Où puis-je trouver les messages du journal pour ces appels?
De la documentation policykit :
La méthode
log()
écrit le message donné dans l'enregistreur système, préfixé par le nom de fichier JavaScript et le numéro de ligne. Les entrées de journal sont émises à l'aide de l'indicateurLOG_AUTHPRIV
, ce qui signifie que les entrées de journal se retrouvent généralement dans le fichier/var/log/secure
. La méthodelog()
est généralement utilisée uniquement lors du débogage des règles. Les types Action et Sujet disposent des méthodestoString()
appropriées définies pour faciliter la consignation, par exemple:polkit.addRule(function(action, subject) { if (action.id == "org.freedesktop.policykit.exec") { polkit.log("action=" + action); polkit.log("subject=" + subject); } });
produira ce qui suit lorsque l'utilisateur exécutera
pkexec -u bateman bash -i
à partir d'un shell: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]
Ce type d'événements de journal se trouve généralement dans /var/log/auth.log
dans Debian et ses dérivés, y compris Ubuntu.
Source: / var/log/secure n'est pas présent dans 14.04, existe-t-il une alternative?