====== 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:
* 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