Couplage openldap-samba Groupe de travail SARI Animateur du groupe : Bernard MA

Couplage openldap-samba Groupe de travail SARI Animateur du groupe : Bernard MAIRE-AMIOT (CRTBT) Participants Françoise BERTHOUD (LPMMC) François BOUHET (MSH-ALPES) Guy BOURREL (TIMC) Xavier CHAUD (CRETA) Ghislain ESCORNE (LGIT) Regis GRAS (LEDSS) Chantal MULLER (TIMC) Jean-Luc PAROUTY (IBS) Christophe TROPHIME (LCMI) Martial TUR (LGIT) Sommaire – Introduction / contexte / choix – Mise en place des services et outils (serveurs) – Configuration des clients Quelques mots sur les aspects sécurité Conclusion / références Contexte d’un laboratoire – Service de qualité – Système d’information (qui le renseigne ?) – Besoins d’accéder à ce système d’information à différents niveaux – parc informatique hétérogène (serveurs / clients, Unix, Windows, MacOSX) – authentification, partage de ressources ? – Interfaçage avec les CRIs Comment fait on aujourd’hui ? Et demain ? Solutions libres pour – Gérer le système d’information du laboratoire (essentiellement personnel) – Utiliser ce SI pour authentifier les personnels (postes client libre service, serveurs (ssh, ftp, mail, vpn(radius), https, sauvegardes, etc.), utiliser ce SI pour rechercher les coodonnées du personnel – Offrir une visibilité de l’espace de travail à l’utilisateur dans un périmètre défini du réseau du laboratoire Couplage openldap-samba • Groupe de travail, choix technologiques • Système : linux (fedora) • Authentification : annuaire ldap (openldap) • Gestionnaire de PDC (windows) : samba • Partage de ressources : samba • Couplage et administration : lam Rappel : LDAP (Lightweight Directory Acces Protocol) LDAP c ’est : Un protocole standard TCP/IP pour l ’accès au contenu qui impose • une structuration hiérarchique des données • Un modèle d’information organisées • Un modèle de diffusion de données • Un modele de nommage permettant une unicité d ’appellation des • entrées à un niveau mondial, ce qui permet une répartition cohérente • des informations sur plusieurs serveurs Ce protocole est particulièrement adapté : • Pour la diffusion à grande échelle de données simples • Pour les mises à jour dynamiques • Pour la sécurisation et la personnalisation des données Rappel : LDAP (Lightweight Directory Acces Protocol) • LDAP organise les entrées dans une structure logique hiérarchique. ou « D.I.T. Directory Information Tree » • L ’identification d ’une entrée se fait à l ’aide du Distinguished Name (DN) uid=pdupont,ou=people,dc=labo,dc=cnrs,dc=fr • Il n ’y a pas de distinction entre noeuds et feuilles de l ’arbre Toutes les « intersections » sont des « entrées » Rappel : LDAP (Lightweight Directory Acces Protocol) LDAP est un modèle d ’information • sur la base d ’un « schéma » • c ’est à dire la collection des types d ’entrées ou classes d’objets que l’on peut rencontrer. • Chaque entrée fait référence à une classe d’objets, définie par un nom et une liste d’attributs (obligatoires ou optionnels) • les attributs sont définis par un nom d’attribut, une syntaxe et des règles de comparaison. openldap = daemon + fichiers de conf + schémas + commandes + données Authentification et partage de ressources : couplage LDAP – SAMBA Architecture Fonctionnelle … Intégrer au domaine microsoft Compte : admin (ldap) Accès Web Administration Compte :root-ldap Accès Web Configuration Compte :root LAM : LDAP Account Manager /var/www/html/lam/config/config.cfg /var/www/html/lam/config/sari.conf SWAT: Samba Web Admin Tool /etc/xinetd.d/swat Administration : Compte root-ldap /etc/openldap/sldap.conf /etc/openldap/ldap.conf /etc/init.d/ldap Administration : Compte admin (ldap) Gestionnaire de domaine /etc/samba/smb.conf /etc/init.d/smb Serveur de ressources : Samba, Netatalk, NFS, CUPS, Radius, … /etc/samba/smb.conf /etc/atalk/afpd.conf, /etc/atalk/applevolume.default, … … Accès aux ressources Compte : clients (ldap) Authentification Compte : clients (ldap) Windows Linux Macintosh Macintosh Auth. ldap v3 Windows Linux /etc/ldap.conf /etc/nsswitch /etc/pam.d/system-auth Configuration Configuration annuaire LDAP Configuration de LAM (LDAP Account Manager) Configuration de SAMBA par SWAT Configuration de SAMBA Couplage samba-ldap Création des comptes Configuration annuaire LDAP /etc/openldap/ldap.conf Fichier de configuration permettant de fournir les informations nécessaires au commandes shell de type ldapsearch, ldapmodify, etc. /etc/openldap/slapd.conf Fichier de configuration du démon /etc/init.d/ldap (slapd et slurpd) Le mot de passe crypté est fabriqué par la commande : slappasswd –s sari … include /usr/share/doc/samba-3.0.10/LDAP/samba.schema … database bdb suffix "dc=cnrs,dc=fr" rootdn "uid=root-ldap,ou=people,dc=cnrs,dc=fr" rootpw {SSHA}FnF0YonpkbjyeVgoKtMOYYTsrpKvISjG … directory /var/lib/ldap … Package sur le site http://lam.soureforge.net Administration par web http://localhost/lam/ Fichiers de configurations /var/www/html/lam/config/config.cfg /var/www/html/lam/config/sari.cfg … ServerURL: ldap://localhost:389 … Admins: uid=root-ldap,ou=people,dc=cnrs,dc=fr # password to change these preferences via webfrontend Passwd: sari … usersuffix: ou=people,dc=cnrs,dc=fr groupsuffix: ou=groups,dc=cnrs,dc=fr hostsuffix: ou=machines,dc=cnrs,dc=fr domainsuffix: ou=domains,dc=cnrs,dc=fr … Configuration de LAM (LDAP Account Manager) Configuration de LAM (LDAP Account Manager) Configuration de SAMBA par SWAT Administration par serveur Web http://localhost:901 Pour administrer samba par swat : login / mot de passe root Le fichier /etc/samba/smb.conf est modifier en conséquence Lancement du démon /etc/xinetd.d/swat au démarrage de la machine Il ne faut pas oublier de sauvegarder le mot de passe de l'admin dn (root-ldap) dans le fichier secrets.tdb afin que Samba puisse accéder en écriture au serveur LDAP : smbpasswd -w <motdepasse>. Configuration de SAMBA /etc/samba/smb.conf workgroup = SARI-LDAP netbios name = SERVEUR-LDAP server string = Samba Server SARI … logon path = domain logons = Yes os level = 99 … domain master = Yes ldap admin dn = uid=root-ldap,ou=people,dc=cnrs,dc=fr ldap group suffix = ou=groups ldap machine suffix = ou=machines ldap passwd sync = Yes ldap suffix = dc=cnrs,dc=fr … ldap user suffix = ou=people admin users = admin Couplage samba-ldap Le couplage samba-ldap pour l’administration des données (utilisateurs et machines) se fait grâce à l’interface LAM Le couplage samba-ldap au niveau authentification, et interfaçage des processus se trouve directement dans le fichier de configuration /etc/samba/smb.conf Le mot de passe d’administration de l’annuaire LDAP est renseigné dans samba par la commande Smbpasswd –w « mot de passe » et stocké dans secret.tdb [global] … passdb backend = ldapsam:ldap://127.0.0.1 … ldap passwd sync = Yes … Le SID du domaine est renseignée dans l’annuaire LDAP Tous les utilisateurs, groupes et machines enregistrées dans l’annuaire LDAP intègre le SID du domaine (ex : S-1-5-21-2430906375-2510035027-2760884646 ) Création des comptes Création du répertoire home et gestion des quotas par script lam Un script est déjà prêt, il permet aussi de gérer les quotas à partir de LAM. Le fichier s’appelle « /usr/share/ldap-account-manager/lib/lamdaemon.pl » Création du répertoire home par skel (skeleton) Squelette des scripts de configuration 'users': .inputrc, .bash_profile ..., recopiés dans le homedir d'un 'new user' à la première authentification. ( module pam_mkhomedir) Création du répertoire home et gestion des quotas par script externe Script unix avec des commandes tels que Mkdir, chown, chgrp, setquota, … Utilisation de l’annuaire LDAP Lancement les processus Les différents groupes et utilisateurs Importation de comptes existants Sauvegarde base au format ldif ou dump Accès à l’annuaire ldap Outils : jxplorer, phpldapadmin, smbldap-tools Lancement des processus Processus openldap /etc/init.d/ldap (slapd, slurpd) Processus samba (microsoft) /etc/init.d/smb (nmbd, smbd Processus netatalk (appletalk) /etc/init.d/atalk (afpd, papd) Processus swat /etc/xientd.d/swat Processus httpd (swat et lam) /etc/init.d/httpd Les différents groupes et utilisateurs Administrateur du serveur root, Il se trouve dans /etc/passwd Administrateur de l’annuaire ldap root-ldap, Il se trouve dans : /etc/openldap/slapd.conf (login et password) /etc/samba/smb.conf (login) /etc/samba/secret.tdb (password) Super administrateur super-root dans la base LDAP (uid=0 et gid=0) Administrateur réseau UNIX et domaine Microsoft Groupe admin du domaine « Domain-Admins » (gid=512, uid>10000) Groupe utilisateur du domaine « Domain-Users » (gid=513, uid>10000) Groupe invité du domaine « Domain-Guests » (gid=514, uid>10000) Groupe « Machines » (gid=553, uid>25000) Ces numéros sont des Identificateurs de sécurité (SID)connus dans les systèmes d'exploitation Windows. http://support.microsoft.com/?scid=kb%3Bfr%3B243330&x=12&y=10 Importation de comptes existants Importation directement à partir du menu de LAM (LDAP Account Manger) On utilise un script utilisant la commande AWK pour générer un fichier au format CSV Ce fichier peut alors être importer directement dans LAM sauf le mot de passe et le SSID du domaine, mais ceci peut être modifier Directement par une commande ldapmodify. à l'IMAG et à l'UJF on gère les comptes à partir du fichier nommé membres.fait qui contient déjà toutes les info dont on a besoin. Upload.csv = awk -F: '{printf"%s,%s,%s,%s,,%s.%s@imag.fr,,,,,,,,\n", $4,$5,$1,$3,$4,$5}' membres.fait ex. (membres.fait) bourrel:3750:1402:Guy:Bourrel:mail-timc (upload.csv) Guy,Bourrel,bourrel,1402,,Guy.Bourrel@imag.fr,,,,,,,, Sauvegarde base au format ldif (dump) Dump de la base ldap au format ldif : Arret de ldap (/etc/init.d/ldap stop) Copie des données de ldap dans le fichier /tmp/dump_ldap.ldif /usr/sbin/slapcat -l /tmp/dump_ldap.ldif -f /etc/openldap/sldap.conf -b "dc=cnrs, dc=fr" Restoration de la base ldap : Arret de ldap (/etc/init.d/ldap stop) cd /var/lib/ldap rm -f * Ajout des donnéees dans la base /usr/sbin/slapadd -l /tmp/dump_ldap.ldif -f /etc/openldap/sldap.conf -b "dc=cnrs, dc=fr"= Accès à l’annuaire ldap Vous allez utiliser les commandes ldapsearch, ldapadd, ldapmodify ldapsearch -x 'objectclass=*' # On veut tous les objets ldapsearch -x 'uid=mlx' mail # On veut le mail de la personnes d'uid mlx Ajout d'un objet (mode interactif) avec ldapadd. Il faut créer un fichier au format LDIF pour chaque objet que l'on souhaite ajouter. $ ldapadd -x -D "uid=root,ou=people, dc=cnrs,dc=fr" -W -f le_FICHIER_ldiff utilisation de la commande ldappasswd : Pour réinitialiser le mot de passe de l'utilisateur user ldappasswd -x -D "uid=root,ou=people,dc=cnrs,dc=fr" -W "uid=user,ou=people,dc=cnrs,dc=fr " Pour réinitialiser le mot de passe de user a un mot de passe déterminé : ajouter l'option -S (prompt) ou -s motdepasse Outils : jxplorer, phpldapadmin On peut désormais utiliser un browser LDAP pour avoir un affichage de la structure de l’annuaire et des entrées de celui-ci. uploads/Science et Technologie/ sari-openldap-samba-expose-2.pdf

  • 45
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager