Nous avons plusieurs serveurs Linux qui authentifient les mots de passe des utilisateurs Linux sur notre serveur Windows Active Directory en utilisant PAM et Kerberos 5. La distribution Linux que nous utilisons est CentOS 6.
Sur un système, nous avons plusieurs systèmes de contrôle de version comme CVS et Subversion, qui authentifient tous les deux les utilisateurs via PAM, de sorte que les utilisateurs peuvent utiliser leurs comptes Unix ou Windows AD normaux.
Depuis que nous avons commencé à utiliser Kerberos pour l'authentification des mots de passe, nous avons constaté que CVS sur une machine cliente est souvent beaucoup plus lent à établir une connexion. CVS authentifie l'utilisateur à chaque requête (ex. cvs diff, log, update...).
Est-il possible de mettre en cache les informations d'identification que kerberos utilise, de sorte qu'il n'ait pas besoin de demander au serveur AD de Windows chaque fois qu'un utilisateur exécute une action cvs ?
Notre configuration PAM /etc/pam.d/system-auth ressemble à ce qui suit :
auth required pam_env.so
auth sufficient pam_unix.so nullok try_first_pass
auth requisite pam_succeed_if.so uid >= 500 quiet
auth sufficient pam_krb5.so use_first_pass
auth required pam_deny.so
account required pam_unix.so broken_shadow
account sufficient pam_succeed_if.so uid < 500 quiet
account [default=bad success=ok user_unknown=ignore] pam_krb5.so
account required pam_permit.so
password requisite pam_cracklib.so try_first_pass retry=3
password sufficient pam_unix.so md5 shadow nullok try_first_pass use_authtok
password sufficient pam_krb5.so use_authtok
password required pam_deny.so
session optional pam_keyinit.so revoke
session required pam_limits.so
session [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session required pam_unix.so
session optional pam_krb5.so