TP associé au cours OpenLDAP



Documents pareils
TP LINUX : LINUX-SAMBA SERVEUR DE FICHIERS POUR UTILISATEURS WINDOWS

Classe et groupe : 1P 3 SEN TRI. Ubuntu : serveur Contrôleur de Domaine (PDC) avec SAMBA

I. Présentation du serveur Samba

Jeudis du libre, Samba ou comment donner le rythme aux stations Windows

Imprimantes et partage réseau sous Samba avec authentification Active Directory

RTN / EC2LT Réseaux et Techniques Numériques. Ecole Centrale des Logiciels Libres et de Télécommunications

Journée Josy/PLUME. Outils logiciels libres utiles à tout ASR SAMBA. Maurice Libes. Centre d'océanologie de Marseille UMS 2196 CNRS

PARAMETRER SAMBA 2.2

Module Samba: Concepts et fonctionnement

But de cette présentation. Contrôleur de domaine avec Samba (rédigé pour Ubuntu Server) Introduction. Samba: principes

Serveur d impression CUPS

Conférence technique sur Samba (samedi 6 avril 2006)

Authentification des utilisateurs avec OpenLDAP et Samba 3.0

LINUX REMPLAÇANT WINDOWS NT

Faites danser votre serveur avec Samba. Association LOLITA

Installation et configuration d un serveur SAMBA sous linux Red Hat

Linux Intranet. Guillaume Allègre INP-FC octobre Grenoble INP Formation Continue. G.

Support de cours. Serveur de fichiers Samba. 2003, Sébastien Namèche - 1

Création d un contrôleur de domaine sous Linux

Instructions Mozilla Thunderbird Page 1

SAMBA. partager des fichiers sous Linux par un protocole compatible Microsoft

Annuaire LDAP + Samba

UE5A Administration Réseaux LP SIRI

TP associé au cours Samba

Projet Semestre2-1SISR

INSTALLATION ET CONFIGURATION DE OPENLDAP

LINUX Préparation à la certification LPIC-3 (examen LPI 300) - 2ième édition

Table des matières. 1. Installation de VMware ESXI Pré-requis Installation... 3

1 Configuration des Fichiers Hosts, Hostname, Resolv.conf

Partages de fichiers SAMBA et d imprimantes CUPS entre deux réseaux internes.

Présentation de Samba

Couplage openldap-samba

14. Samba Introduction Protocoles Microsoft. Page suivante Page précédente Table des matières

Ocs Inventory et GLPI s appuie sur un serveur LAMP. Je vais donc commencer par installer les paquets nécessaires.

OpenLDAP, un outil d administration Réseau. Une implémentation d OpenLDAP

Aubert Coralie, Ruzand Brice GTR 2002 Bonvarlet Manuel, Desroches Alexandre, Magnin Cyril DRT Notice technique 1

WiFi Security Camera Quick Start Guide. Guide de départ rapide Caméra de surveillance Wi-Fi (P5)

(1) Network Camera

Initiation à LINUX pour Scribe

Formation Samba 3. Ganaël Laplanche

Service Informatique et Télématique (SITEL), Emile-Argand 11, 2009 Neuchâtel, Tél ,

Client Debian Squeeze et serveur SambaEdu3

Déploiement d'un serveur ENT

Installation UpdatEngine serveur (CentOs apache2 / MySQL)

Configuration d'un annuaire LDAP

Introduction...3. Objectif...3. Manipulations...3. Gestion des utilisateurs et des groupes...4. Introduction...4. Les fichiers de base...

Vanilla : Virtual Box

WDpStats Procédure d installation

Le voisinage réseau Windows sous Linux

INSTALLATION DE WINDOWS 2000 SERVER POUR BCDI3. par. G.Haberer, A.Peuch, P.Saadé

SÉCURITÉ DU SI. Authentification Centralisée LDAP / Radius. Denoun Jérémy De Daniloff Cyril Bettan Michael SUJET: Version : 1.0

Serveur Linux : FTP. Mise en place d un service FTP sous Linux. Bouron Dimitri 20/04/2014

Supervision et infrastructure - Accès aux applications JAVA. Document FAQ. Page: 1 / 9 Dernière mise à jour: 15/04/12 16:14

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

et Active Directory Ajout, modification et suppression de comptes, extraction d adresses pour les listes de diffusion

Contents Windows

Configurer la supervision pour une base MS SQL Server Viadéis Services

CONFIGURATION DU SERVEUR DE MAILS EXIM. par. G.Haberer, A.Peuch, P.Saade

sshgate Patrick Guiran Chef de projet support

Installation de la plate-forme Liberacces 2.0 «Intégrale» avec LiberInstall

Installer un domaine DNS

L installation a quelque peu changée depuis les derniers tutos, voici une actualisation.

GOUTEYRON ALEXIS. SIO2 N candidat: UEpreuve E4. USituation professionnelle 2. serveurs de fichiers. Uen haute disponibilité

Installation et configuration de Vulture Lundi 2 février 2009

Network Shutdown Module V3 Extension du Manuel Utilisateur pour architecture Virtualisée VMWare ESX Server 3, 3.5

Outils Logiciels Libres

Ajout et Configuration d'un nouveau poste pour BackupPC

Direction des Systèmes d'information

Mise en oeuvre d un Serveur de CD AXIS StorPoint

Guide d'installation rapide TFM-560X YO.13

Projet Administration Réseaux

Instructions pour mettre à jour un HFFv2 v1.x.yy v2.0.00

PPE GESTION PARC INFORMATIQUE

Guide Installation Serveur Extensive Testing

Réalisation d un portail captif d accès authentifié à Internet

Installation d'un Contrôleur Principal de Domaine SAMBA 4

Authentification des utilisateurs avec OpenLDAP

Mettre en place un serveur pour l installation automatisée de Windows XP.

Tutoriel de formation SurveyMonkey

Sécurité des systèmes d exploitation

WEB page builder and server for SCADA applications usable from a WEB navigator

Utiliser Améliorer Prêcher. Introduction à LDAP

ZIMBRA Collaboration Suite SAMBA OPENVPN

Acronymes et abréviations. Acronymes / Abbréviations. Signification

Notice Technique / Technical Manual

Sauvegardes par Internet avec Rsync

REPARTITION DE CHARGE LINUX

Package Contents. System Requirements. Before You Begin

Déploiement de SAS Foundation

Service d'authentification LDAP et SSO avec CAS

Application Form/ Formulaire de demande

Les différentes méthodes pour se connecter

Raccordement desmachines Windows 7 à SCRIBE

TABLE DES MATIERES A OBJET PROCEDURE DE CONNEXION

1. Présentation du TP

Atelier La notion de session utilisateur sous Linux

Installation FollowMe Q server

VoD ( Video on Demand ) avec VLC

Transcription:

TP associé au cours OpenLDAP M7 - Administration système serveurs Hervé Pierron Vialard Tous droits réservés 16/08/2012 1.1

Table des matières I - Sujet du TP 3 1. Pré-requis... 3 2. Installation d'openldap 2.4.23... 3 3. Installation de samba 3.5.6... 7 4. Installation de libnss-ldap et libpam-ldap... 16 5. Administration des utilisateurs SAMBA-LDAP... 17 II - Améliorations possibles du TP 19 III - Annexes du TP 20

Sujet du TP I 1. Pré-requis Tout d'abord nous allons changer le niveau de debconf par défaut celui-ci est sur élevé. Nous allons le reconfigurer en dialogue et intermédiaire. Pour cela faire un : dialogue et dpkg-reconfigure debconf 2. Installation d'openldap 2.4.23 installation des paquets apt-get install slapd ldap-utils ldapvi Lors de cette installation un certain nombre de questions seront posées : Faut il omettre la configuration d'openldap? Non Nom de domaine : T2SI.FR Nom de votre organisation : T2SI Mot de passe administrateur : T2SI Mot de passe administrateur (encore) : T2SI Faut-il autoriser le protocole LDAPv2 : Non Faut-il autoriser les programmes man... : Non Attention Attention : Dans la nouvelle version d'openldap le fichier slapd.conf n'existe plus il est remplacé par le répertoire /slapd.d, Nous verrons comment faire par la suite pour ajouter le nouveau schéma samba. 3

Installation de phpldapadmin 1.2.0.5 Afin de visualiser notre nouveau LDAP, je vous propose l'installation de phpldapadmin qui nous permettra de visualiser plus simplement notre annuaire ldap qui pour l'instant ne contient pas grand chose. Il est important aussi de noter que l'installation de celui-ci à un peu changé aussi. apt-get install phpldapadmin Lors de l'installation un certain nombre de question seront posées : Adresse du serveur LDAP : 127.0.0.1 (si votre annuaire est sur un autre serveur donnez lui son adresse bien sûr) Faut-il gérer le protocole LDAPS : non Nom distinctif de la base de recherche : dc=t2si, dc=fr Type d'authentification : session (vous avez le choix entre session, cookie, config) Identifiant dn de connexion au serveur LDAP : cn=admin,dc=t2si, dc=fr Serveur web à reconfigurer automatiquement : apache2 (vous avez le choix entre apache, apache-ssl, apache-perl et apache2). Il convient de décocher les cases inutiles. Faut-il redémarrer le serveur web : oui Une fois l'installation terminée allez sur un poste qui dispose d'un navigateur internet et testez si phpldapadmin est bien installé. http://debian.t2si.fr/phpldapadmin/ Une fois sur l'interface vous pouvez vous connecter à votre annuaire en tant qu'admin avec votre mot de passe administrateur LDAP. 4

Installation du schéma samba L'installation de ce schéma est essentiel car il contient les attributs nécessaire au LDAP pour la bon dialogue avec samba en PDC (Primary Domain Controller). Ce schéma n'est pas installé par OpenLDAP. apt-get install samba-doc Puis ensuite gunzip -c /usr/share/doc/samba-doc/examples/ldap/samba.schema.gz > /etc/ldap/schema > /samba.schema Une fois cette étape finie dans l'ancienne version il suffisait d'ajouter le schema dans slapd.conf. Mais avec la nouvelle version de samba quand on fait un ls -l /etc/ldap/slapd.d/cn=config/cn=schema on obtient : ls -l /etc/ldap/slapd.d/cn=config/cn=schema total 40 -rw------- 1 openldap openldap 15474 15 août 19:10 cn={0}core.ldif -rw------- 1 openldap openldap 11308 15 août 19:10 cn={1}cosine.ldif -rw------- 1 openldap openldap 6438 15 août 19:10 cn={2}nis.ldif -rw------- 1 openldap openldap 2802 15 août 19:10 cn={3}inetorgperson.ldif et on constate que notre schéma n'est pas présent. La solution est de créer un fichier '/etc/ldap/include.conf' manuellement et d'y inclure les schémas nécessaires. Attention Attention il faut remettre les anciens schéma sous peine d'avoir un message d'erreur. 5

nano /etc/ldap/include.conf puis include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema puis CTRL+O pour enregistrer, et CTRL+Q pour quitter. Une fois ce fichier créer on lance la commande suivante qui convertira au nouveau format : slaptest -f /etc/ldap/include.conf -F /etc/ldap/slapd.d/ la commande doit vous retourner "config file testing succeeded". Si on refait un petit ls -l /etc/ldap/slapd.d/cn=config/cn=schema on constate que le schéma est bien ajouté, mais que le propriétaire est root et non openldap comme ci-dessous. ls -l /etc/ldap/slapd.d/cn=config/cn=schema total 56 -rw------- 1 openldap openldap 15474 15 août 19:10 cn={0}core.ldif -rw------- 1 openldap openldap 11308 15 août 19:10 cn={1}cosine.ldif -rw------- 1 openldap openldap 6438 15 août 19:10 cn={2}nis.ldif -rw------- 1 openldap openldap 2802 15 août 19:10 cn={3}inetorgperson.ldif -rw------- 1 root root 12492 15 août 19:39 cn={4}samba.ldif on va donc lancer les commandes suivantes pour lui donner les droits chown openldap:openldap /etc/ldap/schema/ -R chown openldap:openldap /etc/ldap/slapd.d/ -R Un fois ces commandes exécuté on peut enfin faire un redémarrage du serveur ldap. /etc/init.d/slapd restart ou service slapd restart 6

3. Installation de samba 3.5.6 Nous allons maintenant attaquer la partie PDC avec samba. Pour cela nous allons installer un certain nombre d'éléments (samba, smbclient, smbfs,smbldap-tools). apt-get install samba smbclient smbfs smbldap-tools Lors de l'installation de samba un certain nombre de questions seront posées : Nom du domaine ou groupe de travail : T2SI Voulez vous chiffrer les mots de passe : Oui Modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP : Non Comment voulez-vous lancer Samba : Démons Faut-il créer une base de données /var/lib/samba/passdb.tdb : Non Une fois l'installation du serveur SAMBA effectuée, arretez le service samba en faisant : /etc/init.d/samba stop ou service samba stop Configuration du fichier smb.conf Avant toute chose faire une copie de sauvegarde du fichier d'origine (on est jamais assez prudent)... cp /etc/samba/smb.conf /etc/samba/smb.conf.origine Une fois la copie effectuée, éditez le fichier 'smb.conf' avec votre éditeur préféré et changer les paramètres à l'intérieur. Voici ci-dessous mon fichier 'smb.conf' pour plus de simplicité. ## Browsing/Identification ### # Change this to the workgroup/nt-domain name your Samba server will part of workgroup = T2SI server string = serveur PDC # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server wins support = yes # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Cap the size of the individual log files (in KiB). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. # syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 7

# Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. unix password sync = yes # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. pam password change = yes ########## Domains ########### # Is this machine able to authenticate users. Both PDC and BDC # must have this setting enabled. If you are the BDC you must # change the 'domain master' setting to no # domain logons = yes # # The following setting only takes effect if 'domain logons' is set # It specifies the location of the user's profile directory # from the client point of view) # The following required a [profiles] share to be setup on the # samba server (see below) logon path = \\%L\profiles\%U # The following setting only takes effect if 'domain logons' is set # It specifies the location of a user's home directory (from the client # point of view) logon drive = M: logon home = \\%L\%U ############ Misc ############ # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /home/samba/etc/smb.conf.%m # Most people will find that this option gives better performance. # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/samba3-howto/speed.html # for details # You may want to add the following on a Linux system: socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. domain master = yes local master = yes ################### AJOUTS HPV ############## client lanman auth = yes client ntlmv2 auth = yes lanman auth = yes Sujet du TP 8

ntlm auth = yes security = user os level = 40 ldap ssl = off ldap passwd sync = yes passdb backend = ldapsam:ldap://127.0.0.1 ldap admin dn = cn=admin,dc=t2si,dc=fr ldap suffix = dc=t2si,dc=fr ldap group suffix = ou=groups ldap user suffix = ou=users ldap machine suffix = ou=machines add user script = /usr/sbin/smbldap-useradd -m "%u" ldap delete dn = yes delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" #delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" case sensitive = No default case = lower preserve case = yes short preserve case = Yes winbind use default domain = Yes nt acl support = Yes msdfs root = Yes hide files = /desktop.ini/ntuser.ini/ntuser.*/ unix charset = UTF-8 display charset = UTF-8 dos charset = 850 ################### FIN AJOUTS HPV ############## #======================= Share Definitions ======================= [homes] comment = Dossiers personnels browseable = no writeable = yes # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 # Un-comment the following and create the netlogon directory for Domain Logons # (you need to configure Samba to act as a domain controller too.) [netlogon] comment = Network Logon Service path = /home/t2si/netlogon guest ok = yes Write list = Administrateur # Un-comment the following and create the profiles directory to store # users profiles (see the "logon path" option above) # (you need to configure Samba to act as a domain controller too.) 9

# The path below should be writable by all users so that their # profile directory may be created the first time they log on [profiles] comment = Profils utilisateurs path = /home/t2si/profiles guest ok = no browseable = no writeable = yes create mask = 0600 directory mask = 0700 [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes create mask = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers [print$] comment = Pilotes imprimantes path = /var/lib/samba/printers ################### AJOUTS HPV ############## [partage] comment = Dossier commun path = /home/t2si/partage browseable = yes writeable = yes public = no ################### FIN AJOUTS HPV ############## Sujet du TP Une fois le fichier 'smb.conf' sauvegardé il va falloir créer les répertoires pour les scripts de connexion, les profiles itinérants ainsi que le partage sur le serveur. mkdir /home/t2si/netlogon mkdir /home/t2si/profiles chmod 777 /home/t2si/profiles mkdir /home/t2si/partage Après la création des répertoires ne pas oublier de vérifier la configuration du fichier 'smb.conf' de samba en faisant : testparm Cette commande doit vous donner le résultat suivant (résumé) Loaded services file OK. Server role: ROLE_DOMAIN_PDC Voici le message complet obtenu à l'aide de cette commande : testparm Load smb config files from /etc/samba/smb.conf rlimit_max: rlimit_max (1024) below minimum Windows limit (16384) Processing section "[homes]" Processing section "[netlogon]" Processing section "[profiles]" 10

Processing section "[printers]" Processing section "[print$]" Processing section "[partage]" Loaded services file OK. Server role: ROLE_DOMAIN_PDC Press enter to see a dump of your service definitions [global] dos charset = 850 display charset = UTF-8 workgroup = T2SI server string = serveur PDC passdb backend = ldapsam:ldap://127.0.0.1 pam password change = Yes unix password sync = Yes lanman auth = Yes client NTLMv2 auth = Yes syslog = 0 log file = /var/log/samba/log.%m max log size = 1000 socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 add user script = /usr/sbin/smbldap-useradd -m "%u" delete user script = /usr/sbin/smbldap-userdel "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" logon path = \\%L\profiles\%U logon drive = M: logon home = \\%L\%U domain logons = Yes os level = 40 domain master = Yes dns proxy = No wins support = Yes ldap admin dn = cn=admin,dc=t2si,dc=fr ldap delete dn = Yes ldap group suffix = ou=groups ldap machine suffix = ou=machines ldap passwd sync = yes ldap suffix = dc=dev,dc=net ldap ssl = no ldap user suffix = ou=users panic action = /usr/share/samba/panic-action %d winbind use default domain = Yes case sensitive = No hide files = /desktop.ini/ntuser.ini/ntuser.*/ msdfs root = Yes [homes] comment = Dossiers personnels read only = No create mask = 0700 directory mask = 0700 browseable = No [netlogon] comment = Network Logon Service path = /home/t2si/netlogon write list = Administrateur guest ok = Yes [profiles] comment = Profils utilisateurs path = /home/t2si/profiles read only = No 11

create mask = 0600 directory mask = 0700 browseable = No [printers] comment = All Printers path = /var/spool/samba create mask = 0700 printable = Yes browseable = No [print$] comment = Pilotes imprimantes path = /var/lib/samba/printers [partage] comment = Dossier commun path = /home/t2si/partage read only = No N'oubliez pas de faire un petit : /etc/init.d/samba start ou service samba start Mot de passe LDAP vers SAMBA Afin d'administrer correctement le serveur LDAP samba aura besoin du mot de passe administrateur de celui-ci... Pour cela tapez la commande suivante et donné le mot de passe administrateur du ldap. smbpasswd -w T2SI samba doit vous répondre : Setting stored password for "cn=admin,dc=t2si,dc=fr" in secrets.tdb Configuration des outils smbldap-tools smbldap-tools est un ensemble de script permettant de créer les utilisateurs POSIX de manière automatique. La configuration de celui-ci se fait par l'intermédiaire de deux fichiers qui ne sont pas encore présent sur notre système (le dossier /etc/smbldap-tools/ est vide!) : /etc/smbldap-tools/smbldap_bind.conf /etc/smbldap-tools/smbldap.conf Il faudra donc les créer manuellement... ON crée le fichier (par exemple avec nano) '/etc/smbldap-tools/smbldap_bind.conf' avec les valeurs suivantes : masterdn="cn=admin,dc=t2si,dc=fr" masterpw="t2si" slavedn="cn=admin,dc=t2si,dc=fr" slavepw="t2si" Comme vous pouvez le constater le mot de passe administrateur du LDAP est en clair, il est donc important de lui changer les droits d'accès... chmod 600 /etc/smbldap-tools/smbldap_bind.conf 12

Le fichier smbldap.conf, contient un peu plus de paramètres et a aussi besoin du SID du domaine. Pour cela faire un : net getlocalsid Vous devez obtenir : SID for domain DEBIAN is: S-1-5-21-3068718267-1705237285-3428644700 Attention si vous avez des erreurs TLS... cela veut dire que vous avez oublié un paramètre dans votre fichier smb.conf (ldap ssl = off)!!!! une fois le SID en poche il ne reste plus qu'a faire le fichier de configuration comme ci-dessous : SID="S-1-5-21-3068718267-1705237285-3428644700" masterldap="127.0.0.1" masterport="389" slaveldap="127.0.0.1" slaveport="389" ldaptls="0" verify="require" suffix="dc=t2si,dc=fr" usersdn="ou=users,${suffix}" computersdn="ou=machines,${suffix}" groupsdn="ou=groups,${suffix}" idmapdn="ou=idmap,${suffix}" scope="sub" hash_encrypt="ssha" crypt_salt_format="%s" userloginshell="/bin/bash" userhome="/home/%u" userhomedirectorymode="700" #Nom d'affichage - utiliser smbldap-useradd -c usergecos="user" defaultusergid="513" defaultcomputergid="515" skeletondir="/etc/skel" #Les mots de passe expirent dans 10ans defaultmaxpasswordage="3650" with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" La commande 'smbldap-populate' va créer notre arbre de base au sein du LDAP. Pour cela il suffit de faire : smbldap-populate le résultat doit être : 13

Populating LDAP directory for domain T2SI (S-1-5-21-3068718267-1705237285-3428644700) (using builtin directory structure) entry dc=t2si,dc=fr already exist. adding new entry: ou=users,dc=t2si,dc=fr adding new entry: ou=groups,dc=t2si,dc=fr adding new entry: ou=machines,dc=t2si,dc=fr adding new entry: ou=idmap,dc=t2si,dc=fr adding new entry: uid=root,ou=users,dc=t2si,dc=fr adding new entry: uid=nobody,ou=users,dc=t2si,dc=fr adding new entry: cn=domain Admins,ou=Groups,dc=t2si,dc=fr adding new entry: cn=domain Users,ou=Groups,dc=t2si,dc=fr adding new entry: cn=domain Guests,ou=Groups,dc=t2si,dc=fr adding new entry: cn=domain Computers,ou=Groups,dc=t2si,dc=fr adding new entry: cn=administrators,ou=groups,dc=t2si,dc=fr adding new entry: cn=account Operators,ou=Groups,dc=t2si,dc=fr adding new entry: cn=print Operators,ou=Groups,dc=t2si,dc=fr adding new entry: cn=backup Operators,ou=Groups,dc=t2si,dc=fr adding new entry: cn=replicators,ou=groups,dc=t2si,dc=fr entry sambadomainname=t2si,dc=t2si,dc=fr already exist. Updating it... Please provide a password for the domain root: Changing UNIX and samba passwords for root New password: Retype new password: Remarque Cette commande a demandé de changer le mot de passe du compte admin (T2SI)... Ai décidé de lui attribuer : T2SI (mot de passe identique, non mais!). 14

Si vous avez des messages d'erreurs assurez vous que votre schéma samba est bien présent dans les schémas de votre serveur openldap... Vous pouvez aussi visualiser que sur votre interface phpldapadmin l'architecture a été mis à jour. L'arbre complet de T2SI.FR après ajout de Samba 15

4. Installation de libnss-ldap et libpam-ldap Nous allons maintenant installer et configurer la librairie qui permet d'utiliser l'annuaire (libnss-ldap) et la librairie qui permet de s'authentifier sous unix (libpam-ldap). apt-get install libnss-ldap libpam-ldap Lors de l'installation un certain nombre de question seront posées : Identifiant uniforme de ressource («URI») du serveur LDAP : ldap ://127.0.0.1 Nom distinctif (DN) de la base de recherche : dc=t2si,dc=fr Version de LDAP utiliser : 3 La base LDAP demande-t-elle une identification : non Privilèges LDAP spécifiques pour le superutilisateur : oui Rendre le fichier de configuration lisible et modifiable uniquement par son propriétaire : non Compte LDAP pour le superutilisateur («root») : cn=admin,dc=t2si,dc=fr Mot de passe du compte du superutilisateur LDAP : T2SI (non affiché) Donner les priviéges de superutilisateur local au compte administrateur LDAP? oui La base LDAP demande-t-elle une identification : non Compte LDAP pour le superutilisateur («root») : cn=admin,dc=t2si,dc=fr Mot de passe du compte du superutilisateur LDAP : T2SI (non affiché) Algorithme de chiffrement a utiliser localement pour les mots de passe : chiffré Profils PAM à activer : laisser les cases Unix et LDAP authentification cochées Maintenant que les librairies sont configurées, on doit activer la recherche LDAP en modifiant le fichier de configuration '/etc/nsswitch.conf'. Pour cela il faut simplement ajouter 'ldap' à 'passwd', 'group' et 'shadow'. Le résultat doit être le suivant : # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis 16

5. Administration des utilisateurs SAMBA-LDAP Ajouter un utilisateur Pour ajouter un utilisateur sur l'annuaire il suffit de faire un : smbldap-useradd -a -c "test" -m -P test si vous faite un 'ls -la' sur répertoire /home vous devait avoir Domain Users comme groupe ls -l total 8 drwxr-xr-x 5 t2si t2si 4096 15 août 21:10 t2si drwx------ 2 test Domain Users 4096 15 août 21:37 test Supprimer un utilisateur Pour supprimer un utilisateur sur l'annuaire il suffit de faire un : smbldap-userdel test 17

Changer le mot de passe d'un utilisateur Pour changer le mot de passe utilisateur sur l'annuaire il suffit de faire un : smbldap-passwd test Voilà pour les principales commandes, il en existe beaucoup d'autre et elle sont énoncées dans le tableau suivant : ajouter un utilisateur ajouter un ordinateur Supprimer un utilisateur/ordinateur Ajouter un groupe Supprimer un groupe Ajouter un utilisateur dans un groupe Supprimer un utilisateur d'un groupe Affecter un groupe comme groupe primaire à un utilisateur Affiche la liste des utilisateurs (uid, username) Affiche les informations LDAP d'un groupe Affiche les informations LDAP d'un utilisateur Affiche/modifie les informations d'un utilisateur en ligne de commande smbldap-useradd (option -m) smbldap-useradd (option -w) smbldap-userdel smbldap-groupadd (option -p) smbldap-groupdel smbldap-groupmod (option -m) smbldap-groupmod (option -x) smbldap-usermod (option -g) smbldap-userlist smbldap-groupshow smbldap-usershow smbldap-userinfo Commandes livrées par le paquet smbldap-tools vous trouverez en annexe l'usage des outils smbldap (smbldap-tools) avec les options disponibles. En ce qui concerne la liaison avec vos session Windows XP, Vista, Seven, il ne reste plus qu'à faire la liaison avec votre PDC. N'oubliez pas que l'utilisateur autorisé à joindre les utilisateurs au domaine est "root" si vous souhaitez que ce soit administrateur il est possible d'ajouter un user administrateur en faisant : smbldap-useradd -a -c "Administrateur" -m -P administrateur Remarque La création de ce compte est nécessaire, car dans le fichier 'smb.conf', nous avons indiqué que le répertoire NETLOGON est inscriptible par Administrateur... 18

Améliorations possibles du TP Améliorations possibles du TP II Ajout du support SSL Le TP n'utilise pas le support SSL/TLS. Il n'utilise pas non plus le support SASL. Une amélioration possible serait : soit d'ajouter le support non utilisé et de modifier la configuration en conséquence... soit de refaire le TP complètement en ajoutant le support non utilisé des le début du TP. 19

Annexes du TP Annexes du TP III Le fichier include.conf (/etc/ldap/include.conf) include /etc/ldap/schema/core.schema include /etc/ldap/schema/cosine.schema include /etc/ldap/schema/nis.schema include /etc/ldap/schema/inetorgperson.schema include /etc/ldap/schema/samba.schema Le fichier smb.conf final (/etc/samba/smb.conf) ## Browsing/Identification ### # Change this to the workgroup/nt-domain name your Samba server will part of workgroup = T2SI server string = serveur PDC # Windows Internet Name Serving Support Section: # WINS Support - Tells the NMBD component of Samba to enable its WINS Server wins support = yes # This will prevent nmbd to search for NetBIOS names through DNS. dns proxy = no #### Debugging/Accounting #### # This tells Samba to use a separate log file for each machine # that connects log file = /var/log/samba/log.%m # Cap the size of the individual log files (in KiB). max log size = 1000 # If you want Samba to only log through syslog then set the following # parameter to 'yes'. # syslog only = no # We want Samba to log a minimum amount of information to syslog. Everything # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log # through syslog you should set the following parameter to something higher. syslog = 0 # Do something sensible when Samba crashes: mail the admin a backtrace panic action = /usr/share/samba/panic-action %d # This boolean parameter controls whether Samba attempts to sync the Unix # password with the SMB password when the encrypted SMB password in the # passdb is changed. 20

Annexes du TP unix password sync = yes # This boolean controls whether PAM will be used for password changes # when requested by an SMB client instead of the program listed in # 'passwd program'. The default is 'no'. pam password change = yes ########## Domains ########### # Is this machine able to authenticate users. Both PDC and BDC # must have this setting enabled. If you are the BDC you must # change the 'domain master' setting to no # domain logons = yes # # The following setting only takes effect if 'domain logons' is set # It specifies the location of the user's profile directory # from the client point of view) # The following required a [profiles] share to be setup on the # samba server (see below) logon path = \\%L\profiles\%U # The following setting only takes effect if 'domain logons' is set # It specifies the location of a user's home directory (from the client # point of view) logon drive = M: logon home = \\%L\%U ############ Misc ############ # Using the following line enables you to customise your configuration # on a per machine basis. The %m gets replaced with the netbios name # of the machine that is connecting ; include = /home/samba/etc/smb.conf.%m # Most people will find that this option gives better performance. # See smb.conf(5) and /usr/share/doc/samba-doc/htmldocs/samba3-howto/speed.html # for details # You may want to add the following on a Linux system: socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 # Domain Master specifies Samba to be the Domain Master Browser. If this # machine will be configured as a BDC (a secondary logon server), you # must set this to 'no'; otherwise, the default behavior is recommended. domain master = yes local master = yes ################### AJOUTS HPV ############## client lanman auth = yes client ntlmv2 auth = yes lanman auth = yes ntlm auth = yes 21

Annexes du TP security = user os level = 40 ldap ssl = off ldap passwd sync = yes passdb backend = ldapsam:ldap://127.0.0.1 ldap admin dn = cn=admin,dc=t2si,dc=fr ldap suffix = dc=t2si,dc=fr ldap group suffix = ou=groups ldap user suffix = ou=users ldap machine suffix = ou=machines add user script = /usr/sbin/smbldap-useradd -m "%u" ldap delete dn = yes delete user script = /usr/sbin/smbldap-userdel "%u" add machine script = /usr/sbin/smbldap-useradd -w "%u" add group script = /usr/sbin/smbldap-groupadd -p "%g" #delete group script = /usr/sbin/smbldap-groupdel "%g" add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g" delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g" set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u" case sensitive = No default case = lower preserve case = yes short preserve case = Yes winbind use default domain = Yes nt acl support = Yes msdfs root = Yes hide files = /desktop.ini/ntuser.ini/ntuser.*/ unix charset = UTF-8 display charset = UTF-8 dos charset = 850 ################### FIN AJOUTS HPV ############## #======================= Share Definitions ======================= [homes] comment = Dossiers personnels browseable = no writeable = yes # File creation mask is set to 0700 for security reasons. If you want to # create files with group=rw permissions, set next parameter to 0775. create mask = 0700 # Directory creation mask is set to 0700 for security reasons. If you want to # create dirs. with group=rw permissions, set next parameter to 0775. directory mask = 0700 # Un-comment the following and create the netlogon directory for Domain Logons 22

Annexes du TP # (you need to configure Samba to act as a domain controller too.) [netlogon] comment = Network Logon Service path = /home/t2si/netlogon guest ok = yes Write list = Administrateur # Un-comment the following and create the profiles directory to store # users profiles (see the "logon path" option above) # (you need to configure Samba to act as a domain controller too.) # The path below should be writable by all users so that their # profile directory may be created the first time they log on [profiles] comment = Profils utilisateurs path = /home/t2si/profiles guest ok = no browseable = no writeable = yes create mask = 0600 directory mask = 0700 [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes create mask = 0700 # Windows clients look for this share name as a source of downloadable # printer drivers [print$] comment = Pilotes imprimantes path = /var/lib/samba/printers ################### AJOUTS HPV ############## [partage] comment = Dossier commun path = /home/t2si/partage browseable = yes writeable = yes public = no ################### FIN AJOUTS HPV ############## 23

Annexes du TP Le fichier smbldap_bind.conf (/etc/smbldap-tools/smbldap_bind.conf) masterdn="cn=admin,dc=t2si,dc=fr" masterpw="t2si" slavedn="cn=admin,dc=t2si,dc=fr" slavepw="t2si" Le fichier smbldap.conf (/etc/smbldap-tools/smbldap.conf) SID="S-1-5-21-3068718267-1705237285-3428644700" masterldap="127.0.0.1" masterport="389" slaveldap="127.0.0.1" slaveport="389" ldaptls="0" verify="require" suffix="dc=t2si,dc=fr" usersdn="ou=users,${suffix}" computersdn="ou=machines,${suffix}" groupsdn="ou=groups,${suffix}" idmapdn="ou=idmap,${suffix}" scope="sub" hash_encrypt="ssha" crypt_salt_format="%s" userloginshell="/bin/bash" userhome="/home/%u" userhomedirectorymode="700" #Nom d'affichage - utiliser smbldap-useradd -c usergecos="user" defaultusergid="513" defaultcomputergid="515" skeletondir="/etc/skel" #Les mots de passe expirent dans 10ans defaultmaxpasswordage="3650" with_smbpasswd="0" smbpasswd="/usr/bin/smbpasswd" with_slappasswd="0" slappasswd="/usr/sbin/slappasswd" 24

Annexes du TP Le fichier nsswitch.conf (/etc/nsswitch.conf) # /etc/nsswitch.conf # # Example configuration of GNU Name Service Switch functionality. # If you have the `glibc-doc-reference' and `info' packages installed, try: # `info libc "Name Service Switch"' for information about this file. passwd: compat ldap group: compat ldap shadow: compat ldap hosts: files dns networks: files protocols: db files services: db files ethers: db files rpc: db files netgroup: nis 25

Annexes du TP La commande smbldap-useradd smbldap-useradd : le premier utilitaire et surement un des plus utilisé qui permet de venir ajouter des utilisateurs simplement dans la base LDAP avec les attributs POSIX et/ou SAMBA. Cet utilitaire permet de mettre en place de nouveaux utilisateurs avec le parametrage de tous les attributs utiles de manière assez intuitive car la plupart des options de la ligne de commande sont similaires à celles de smbpasswd ou passwd. Usage: /usr/sbin/smbldap-useradd [-awmugdsckabcdefghmnpst?] username -o ajoute l'utilisateur dans l'ou (relative au suffix utilisateur) -a est un utilisateur Windows (sinon, uniquement POSIX) -b est un utilisateur AIX -w est une station de travail Windows -i is a trust account (Windows Workstation) -u uid -g gid -G groupes supplémentaires séparés par des virgules -n ne pas créer de groupe -d home -s shell -c commentaires -m créer le répertoire home et copier /etc/skel -k répertoire squelette (avec -m) -t temps. attendre 'temps' secondes avant de quitter ( avec -w ) -P exécute smbldap-passwd après -A peux changer le mot de passe? 0 = non, 1 = oui -B dois changer le mot de passe? 0 = non, 1 = oui -C sambahomepath -D sambahomedrive -E sambalogonscript (Script de login) -F sambaprofilepath (Chemin du profil utilisateur) -H sambaacctflags (Bits de contrôle de compte Samba) -N surnom -S nom de famille -M adresses email locales (séparées par des virgules) -T adresse email de transfert -? affiche ce message d'aide La commande smbldap-passwd smbldap-passwd : Définir ou redéfinir le mot de passe d'un utilisateur. Usage: /usr/sbin/smbldap-passwd [options] [username] -h, -?, --help show this help message -s update only samba password -u update only UNIX password 26

Annexes du TP La commande smbldap-userdel smbldap-userdel : Supprimer un utilisateur Usage: /usr/sbin/smbldap-userdel [-r?] username -r remove home directory -R remove home directory interactively La commande smbldap-usermod Permet de modifier simplement et rapidement les options d'un utilisateur avec les mêmes fonctions que smbldap-useradd. Usage: /usr/sbin/smbldap-usermod [-awmugdsckabcdefghipsmt?h] username Available options are: -c gecos -d home directory -r new username (cn, sn and dn are updated) -u uid -o uid can be non unique -g gid -G supplementary groups (comma separated) -s shell -N canonical name -S surname -P ends by invoking smbldap-passwd For samba users: -a add sambasamaccount objectclass -e expire date ("YYYY-MM-DD HH:MM:SS") -A can change password? 0 if no, 1 if yes -B must change password? 0 if no, 1 if yes -C sambahomepath (SMB home share, like '\\PDC-SRV\homes') -D sambahomedrive (letter associated with home share, like 'H:') -E sambalogonscript (DOS script to execute on login) -F sambaprofilepath (profile directory, like '\\PDC-SRV\profiles\foo') -H sambaacctflags (samba account control bits like '[NDHTUMWSLKI]') -I disable an user. Can't be used with -H or -J -J enable an user. Can't be used with -H or -I -M mailaddresses (comma separated) -T mailtoaddress (forward address) (comma separated) -? -h show this help message Les commandes smbldap-group* Elles sont aux groupes les commandes smbldap-user* La commande smbldap-populate cette commande n'est utilisée qu'une seule fois normalement au moment où vous venez de finir la configuration de votre serveur LDAP pour créer la base le l'architecture. Une fois que le serveur LDAP et les smbldap-tools sont configurés, exécutez cette commande pour que les OU et la base de l'annuaire soient créés automatiquement en fonction des paramètres définis dans la configuration des smbldap-tools. 27