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

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:

sme.domain.tld est le nom DNS de votre SME

auth est un compte utilisateur sur votre SME (ne doit pas disposer de privilèges spéciaux, juste un utilisateur avec un mot de passe)

domain.org est votre domaine principal sur SME

/etc/pki/tls/certs/ca.pem contient la CA qui a signé le certificat de votre SME

la ligne ldap_user_shell peut être dé-commentée si votre serveur est une iPasserelle. L'attribut ldap desktopLoginShell permet de spécifier un shell pour le serveur iPasserelle lui-même (loginShell) et un shell différent pour les stations. Si cette ligne est active, le système Fedora utilisera la valeur stockée dans desktopLoginShell au lieu de loginShell. La valeur de ces attributs peut être modifiée dans le panel “Informations Utilisateurs” de votre iPasserelle

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