feat: use standard template for ccache file
Default SSSD template for ccache file is /tmp/krb5cc_%U_XXXXXX, where XXXXXX is a suffix that will be interpreted by mkstemp(3) to create a unique file name, while the standard configuration of the libkrb5 library is `/tmp/krb5cc_%U`. To guarantee compatibility with the existing system, we force the use of the standard model in SSSD.
This commit is contained in:
@@ -111,6 +111,57 @@ la documentation mentionne explicitement LDAP comme sources d'identité,
|
|||||||
donc il faudrait joindre le domaine AD, fonctionnerait seulement online
|
donc il faudrait joindre le domaine AD, fonctionnerait seulement online
|
||||||
(sauf si cache).
|
(sauf si cache).
|
||||||
|
|
||||||
|
Stockage du Credential Cache
|
||||||
|
----------------------------
|
||||||
|
|
||||||
|
Par défaut, SSSD stocke le credential cache dans un fichier dont le modèle
|
||||||
|
de nom est `/tmp/krb5cc_%U_XXXXXX`, avec `%U` qui est remplacé par le UID
|
||||||
|
de l'utilisateur, et `XXXXXX` est remplacé par `mkstemp(3)` pour obtenir
|
||||||
|
un nom de fichier unique. Pour le premier utilisateur humain, cela donne:
|
||||||
|
|
||||||
|
```
|
||||||
|
/tmp/krb5cc_1000_TiXG5v
|
||||||
|
```
|
||||||
|
|
||||||
|
_Important: il semble qu'il y a un fichier par session, quand on se connecte
|
||||||
|
à la machine en SSH, on voit apparaitre un nouveau fichier `krb5cc` avec un
|
||||||
|
suffixe différent. Ces fichiers ne sont pas nettoyés lorsque la connexion
|
||||||
|
SSH est coupée._
|
||||||
|
|
||||||
|
Ce modèle est différent de celui utilisé par la bibliothèque système
|
||||||
|
`libkrb5` et la configuration `/etc/krb5.conf`, qui utilise plutôt
|
||||||
|
`/tmp/krb5cc_%U`, ce qui donne par exemple:
|
||||||
|
|
||||||
|
```
|
||||||
|
/tmp/krb5_1000_TiXG5v
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour conserver la compatibilité avec l'existant, on force dans la
|
||||||
|
configuration SSSD l'utilisation du modèle de nom classique, c'est peut être
|
||||||
|
moins sécurisé, mais ça fait moins de surprises dans les scripts existants
|
||||||
|
qui utilisent l'authentification Kerberos (cf `orange-yourdev-setup`).
|
||||||
|
Ce qui donne dans la configuration:
|
||||||
|
|
||||||
|
```
|
||||||
|
krb5_ccachedir = /tmp
|
||||||
|
krb5_ccname_template = FILE:%d/krb5cc_%U
|
||||||
|
```
|
||||||
|
|
||||||
|
Pour bien faire, il faudrait stocker le cache dans la mémoire du noyau, c'est
|
||||||
|
ce qui est le plus sécurisé, avec la propriété:
|
||||||
|
|
||||||
|
```
|
||||||
|
krb5_ccname_template = KEYRING:persistent:%U
|
||||||
|
```
|
||||||
|
|
||||||
|
et reporter la propriété équivalente dans `/etc/krb5.conf`.
|
||||||
|
Néanmoins, ce changement a des conséquences:
|
||||||
|
|
||||||
|
- il faut vérifier que tous nos scripts fonctionnent toujours
|
||||||
|
- il faut gérer la transition de `/etc/krb5.conf`
|
||||||
|
- l'applet `krb5-auth-dialog` ne gère pas le mode KEYRING
|
||||||
|
- dans GNOME, il faut tester le dialogue "comptes en lignes" pour Kerberos
|
||||||
|
|
||||||
TODO
|
TODO
|
||||||
----
|
----
|
||||||
|
|
||||||
|
|||||||
@@ -36,6 +36,8 @@ krb5_renewable_lifetime = 7d
|
|||||||
krb5_renew_interval = 30m
|
krb5_renew_interval = 30m
|
||||||
krb5_use_kdcinfo = true
|
krb5_use_kdcinfo = true
|
||||||
krb5_kdcinfo_lookahead = 5:2
|
krb5_kdcinfo_lookahead = 5:2
|
||||||
|
krb5_ccachedir = /tmp
|
||||||
|
krb5_ccname_template = FILE:%d/krb5cc_%U
|
||||||
dns_discovery_domain = S-FT-FR-EBU._sites.ad.francetelecom.fr
|
dns_discovery_domain = S-FT-FR-EBU._sites.ad.francetelecom.fr
|
||||||
#
|
#
|
||||||
chpass_provider = none
|
chpass_provider = none
|
||||||
|
|||||||
Reference in New Issue
Block a user