Aller au contenu principal
Kill -9 Club
Se connecter

credential (systemd)

Sécurité

Un secret que systemd recopie dans le service à chaque démarrage, déclaré par LoadCredential=database-url:/etc/credstore/database-url. La copie arrive dans /run/credentials/example-api.service : en mémoire, en lecture seule, un fichier en mode 0400 que seuls root et l'utilisateur de User= peuvent ouvrir, et %d en contient le chemin. Cela ressemble à un Environment= mieux rangé, et c'est la confusion à tuer : systemctl show example-api -p Environment rend les valeurs elles-mêmes à n'importe quel compte local, sur le bus système, sans sudo et sans laisser de trace, parce que systemd.exec(5) ne tient pas les variables d'une unité pour des données à protéger. -p LoadCredential répond [unprintable] : cette propriété n'a jamais contenu que l'identifiant et le chemin. Le prix est réel — l'application doit lire un fichier, pas une variable — et le nom seul, LoadCredential=database-url, rend un credential manquant non fatal : le service démarre avec rien sous %d/.

Aussi écrit : LoadCredential, LoadCredentialEncrypted, systemd-creds