Ceci est une ancienne révision du document !
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
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
Il faut ensuite configurer le module oddjob_mkhomedir (qui s'occupera de créer les répertoires personnels au premier login) pour qu'il utilise un umask raisonnable. Pour cela, il faut éditer le fichier /etc/oddjobd.conf.d/oddjobd-mkhomedir.conf et modifier les directives -u en les faisant passer de 0002 à 077:
<?xml version="1.0"?> <!-- This configuration file snippet controls the oddjob daemon. It provides access to mkhomedir functionality via a service named "com.redhat.oddjob_mkhomedir", which exposes a single object ("/"). The object allows the root user to call any of the standard D-Bus introspection interface's methods (these are implemented by oddjobd itself), and also defines an interface named "com.redhat.oddjob_mkhomedir", which provides two methods. --> <oddjobconfig> <service name="com.redhat.oddjob_mkhomedir"> <object name="/"> <interface name="org.freedesktop.DBus.Introspectable"> <allow min_uid="0" max_uid="0"/> <!-- <method name="Introspect"/> --> </interface> <interface name="com.redhat.oddjob_mkhomedir"> <method name="mkmyhomedir"> <helper exec="/usr/libexec/oddjob/mkhomedir -u 077" arguments="0" prepend_user_name="yes"/> <!-- no acl entries -> not allowed for anyone --> </method> <method name="mkhomedirfor"> <helper exec="/usr/libexec/oddjob/mkhomedir -u 077" arguments="1"/> <allow user="root"/> </method> </interface> </object> </service> </oddjobconfig>
Configurer SSSD
La configuration de SSSD se trouve dans le fichier /etc/ssshd/sssd.conf. Dans ce fichier, il faut principalement configurer le domaine SSSD qui sera utilisé:
domain = sme
Puis rajouter une section pour notre domaine:
[domain/LDAP] id_provider = ldap auth_provider = ldap ldap_schema = rfc2307 ldap_uri = ldap://sme.domain.org ldap_default_bind_dn = uid=auth,ou=Users,dc=domain,dc=org ldap_default_authtok = something_very_secret ldap_default_authtok_type = password ldap_search_base = dc=domain,dc=org ldap_user_search_base = ou=Users,dc=domain,dc=org ldap_group_search_base = ou=Groups,dc=domain,dc=org 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
Dans cet exemple:
- sme.domain.org est le nom DNS de votre SME
- auth est un compte valide sur votre SME
- 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é 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é dans le panel “Informations Utilisateurs” de votre iPasserelle
Configurer le tout
Il ne reste plus qu'à configurer le système pour utilsier SSSD. Cette configuration se fait assez simplement avec l'outil authconfig:
authconfig --enablemkhomedir --enablesssd --enablesssdauth --update
Et voilà, enjoy