Le service doit obtenir les tickets Kerberos d'une manière ou d'une autre - si ce n'est pas un mot de passe, utilisez un keytab.
Créez le compte de votre choix sur le KDC Kerberos, extrayez ses clés dans un fichier de clés. (J'imagine que vous pouvez utiliser le clavier par défaut de l'hôte pour cela, mais un fichier séparé serait préférable pour la sécurité.)
Utilisez k5start pour obtenir des tickets en utilisant l’onglet keytab. (Pour les tests, un one-shot kinit -k -t
peut être utilisé, mais k5start - ou au moins un cronjob - est nécessaire pour les actualiser périodiquement.)
Enfin défini KRB5CCNAME
dans l'environnement Apache pointant sur le nouveau cache de ticket. (Cela se ferait en éditant httpd.service ou le script init.d équivalent.)
Si le serveur est doté de MIT Kerberos 1.11 ou d'une version plus récente, vous pouvez le faire plus simplement à l'aide de la fonction d' initiation du clavier , en plaçant le clavier dans /var/lib/krb5/user/<apacheuid>/client.keytab
. Cela rend k5start et KRB5CCNAME inutiles.