Pages enfant
  • 01 - Installation et paramétrage de pam_cas

Comparaison des versions

Légende

  • Ces lignes ont été ajoutées. Ce mot a été ajouté.
  • Ces lignes ont été supprimées. Ce mot a été supprimé.
  • La mise en forme a été modifiée.

 

Sommaire

Généralités

pam_cas est un module qui permet à un 'service' UNIX sachant authentifier via pam d'utiliser le mécanisme de SSO du CAS.

...

Sur redhat, le package pam-devel doit également être installé.

  • cd sources
  • cp ln -s Makefile.Redhat Makefile (sous redhat, ou autre Makefile en fonction de l'OS).
  • make (compilation et création du module pam_cas.so)
  • make test (si vous désirez utiliser le binaire castest)

...

Tenter un ./castest sans paramètre : il doit afficher un message d'erreur du genre :

Bloc de code

unable to open config file "/etc/pam_cas.conf"
Error while reading config file. Error 1
cannot open it

...

Ce fichier suppose que imap tente l'authentification CAS, puis LDAP, puis UNIX

Bloc de code

auth sufficient /lib/security/pam_cas.so \-simap://imap.univ.fr \-f/etc/pam_cas.conf
auth sufficient /lib/security/pam_ldap.so
auth required /lib/security/pam_pwdb.so shadow nullok
account required /lib/security/pam_pwdb.so shadow nullok

...

exemple d'utilisation :

Bloc de code

$PAM_CAS_SOURCES/castest <service> <ticket> <fichier_de_configuration>

Il est possible de le lancer sans paramètres. Avec un fichier de configuration correctement paramétré, la sortie est la suivante :

Bloc de code

--------------------------------------------------------------\-
Parameters from test :
host = auth.univ-nancy2.fr
port = 443
uri = /proxyValidate
ssl = on
trusted_ca = /Cert/ac-racine.pem
debug = localtest
proxy = [https://imp.univ.fr/cas/casProxy.php]
proxy = [https://ent.univ.fr/CasProxyServlet]
service = [https://foo.fr]
ticket = PT-1-xxx
\--------------------------------------------------------------\-
authentication failure
<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationFailure code='INVALID_TICKET'>
ticket 'PT-1-xxx' not recognized
</cas:authenticationFailure>
</cas:serviceResponse>
\--------------------------------------------------------------\-
invalid ticket : bad CAS ticket

...

Si problème, s'assurer avec wget que la machine qui supporte pam_cas arrive bien à communiquer avec le serveur CAS. Par exemple :

Bloc de code

wget \--ca-certificate=/Cert/ac-racine.pem \-O /tmp/cas.log "https://auth.univ.fr:443/proxyValidate?ticket=PT-1-xxx&service=[https://foo.fr]"

Le contenu du fichier /tmp/cas.log contient la réponse du serveur CAS ; il devrait être :

Bloc de code

<cas:serviceResponse xmlns:cas='http://www.yale.edu/tp/cas'>
<cas:authenticationFailure code='INVALID_TICKET'>
ticket 'PT-1-xxx' not recognized
</cas:authenticationFailure>
</cas:serviceResponse>

...