Table des matières

Authentifier un poste Fedora sur les comptes de votre SME

Grâce au serveur LDAP inclus dans SME Server (>= 8b6), vous pouvez utiliser les comptes utilisateurs sur vos stations GNU/Linux, dont Fedora. Et grâce à SSSD, vous pourrez utiliser ces comptes même hors ligne. Donc, plus besoin de créer un compte local en plus du compte réseau :-D

Voilà la marche à suivre pour configurer un poste de travail sous Fedora (testé avec Fedora 14):

Installer les outils nécessaires

yum install oddjob-mkhomedir sssd policycoreutils-python

Préparer l'environnement

Les répertoire personnels de votre station seront, comme sur votre serveur SME stockés dans /home/e-smith/fies/users, il faut donc préparer le terrain pour éviter que SELinux bloque tout:

mkdir -p /home/e-smith/files/users/
semanage fcontext -a -e /home /home/e-smith/files/users
restorecon -R /home/e-smith/files/users
restorecon -R /var/lib/sss

Activer et démarrer le démon oddjobd

Ce démon se chargera de créer les répertoires personnels durant la première connexion:

systemctl start oddjobd.service
systemctl enable oddjobd.service

Configurer SSSD

La configuration de SSSD se trouve dans le fichier /etc/sssd/sssd.conf. Ce fichier n'existe pas par défaut, il faut le créer, et impérativement mettre les permissions 600 dessus (sans quoi le démon sssd refusera de démarrer).

cat <<'_EOF' > /etc/sssd/sssd.conf
[sssd]
config_file_version = 2
services = nss, pam
domains = LDAP
 
[nss]
 
[pam]
 
[domain/LDAP]
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap://sme.domain.tld
ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=tld
ldap_default_authtok = something_very_secret
ldap_default_authtok_type = password
ldap_search_base = dc=domain,dc=tld
ldap_user_search_base = ou=Users,dc=domain,dc=tld
ldap_group_search_base = ou=Groups,dc=domain,dc=tld
ldap_user_object_class = inetOrgPerson
ldap_user_gecos = cn
ldap_tls_reqcert = hard
ldap_tls_cacert = /etc/pki/tls/certs/ca.pem
ldap_id_use_start_tls = true
# à dé-commenter si votre serveur SME est une iPasserelle
#ldap_user_shell = desktopLoginShell
cache_credentials = true
enumerate = true
# Il est possible de limiter l'accès via un filtre LDAP en
# dé-commentant ces deux lignes. Dans cet exemple, seuls les
# membres du groupe netusers seront valides sur cet hôte
# posixMemberOf est un attribut disponible uniquement sur une iPasserelle
#access_provider = ldap
#ldap_access_filter = (|(posixMemberOf=admins)(uid=backup))
_EOF
chmod 600 /etc/sssd/sssd.conf

Puis rajouter une section pour notre domaine:

Dans cet exemple:

Démarrer et activer le démon sssd

Il faut maintenant configurer ce démon pour se lancer au démarrage:

systemctl start sssd.service
systemctl enable sssd.service
Il est possible de débuguer le fonctionnement en lançant sssd à la main:
systemctl stop sssd.service
sssd -i -d5

Il faut également vérifier que sss est bien déclaré comme source dans le fichier /etc/nsswitch.conf (c'est normalement fait automatiquement):

[...]
passwd:     files sss
shadow:     files sss
group:      files sss
[...]

Configurer le tout

Il ne reste plus qu'à configurer le système pour utiliser SSsssdSD. Cette configuration se fait assez simplement avec l'outil authconfig:

authconfig --enablemkhomedir --enablesssd --enablesssdauth --update