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
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