web-dev-qa-db-fra.com

Emplacement de la sortie du journal PolicyKit

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?

1
Keidax

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'indicateur LOG_AUTHPRIV, ce qui signifie que les entrées de journal se retrouvent généralement dans le fichier /var/log/secure. La méthode log() est généralement utilisée uniquement lors du débogage des règles. Les types Action et Sujet disposent des méthodes toString() 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?

1
Sylvain Pineau