• Aucun résultat trouvé

Installation de Samba (version3.5.6)

1. Les grandes étapes de la mise en place du contrôleur de domaine

1.4. Installation de Samba (version3.5.6)

Nous allons configurer Samba de telle sorte qu’il soit contrôleur de domaine, mais aussi en tant que serveur de fichiers (partage de fichiers ou sauvegarde de données via un disque réseau). Pour ce faire, nous allons installer Samba, puis nous créerons des zones de stockages privées et publiques.

Commençons par installer les paquets :

root@LDAP1:~#aptitude -y install smbldap-tools samba smbclient smbfs

Répondre aux questions suivantes :

Nom du domaine ou groupe de travail : clin 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émon

Faut-il créer une base de données /var/lib/samba/passdb.tdb : Non (voir remarque ci-dessous)

Remarque : si on répond « Oui » à la dernière question, le programme d'installation de Samba va importer tous les comptes. Ça inclut les comptes comme root, daemon, nobody, www-data, game, etc. Sur un serveur fraichement installé, il vaut mieux répondre « Non ». On pourra les rajouter à la main plus tard en cas de besoin.

Une fois l’installation terminée, on arrête Samba afin de terminer sa configuration : root@LDAP1:~#/etc/init.d/samba stop

Il faut maintenant configurer Samba pour qu'il intègre LDAP et les outils SMBLDAP que l'on installera dans la foulée. Un fichier de configuration /etc/samba/smb.conf est déjà présent, nous modifions sont nom en smb.conf.back afin d’avoir une sauvegarde la configuration originel au cas où :

root@LDAP1:~#mv /etc/samba/smb.conf /etc/samba/smb.conf.bak

Nous allons maintenant aller chercher un exemple de configuration de smb.conf (ceci permet d’avoir un fichier sans le grand nombre de commentaire qui le rende illisible), cet exemple de configuration est disponible dans les fichiers créés par l’installation précédente du package smbldap-tools) :

root@LDAP1:~#cp /usr/share/doc/smbldap-tools/examples/smb.conf /etc/samba/smb.conf

Il ne reste plus qu’à le modifier afin d’avoir la configuration souhaitée : root@LDAP1:~#vi /etc/samba/smb.conf

Nous obtenons le fichier de configuration suivant (explication en vert) :

[global] #Définition des paramètres globaux du serveur

workgroup = clin #Nom du domaine (pour les clients Windows) netbios name = ldap1 #Nom du serveur LDAP qui l’identifie sur le réseau security = user #Force Samba à authentifier les connexions clients server string = Samba Server %v #Commentaire affiché dans le voisinage réseau

(Samba transcrit « %v » par sa propre version) encrypt passwords = Yes #Utilisation des mots de passe encryptés

ldap passwd sync = yes #Synchronise les mots de passe LDAP et Samba

###Commande qui permet de changer le mot de passe de l’utilisateur (à faire sous Samba)###

passwd program = /usr/sbin/smbldap-passwd -u "%u"

passwd chat = "Changing *\nNew password*" %n\n "*Retype new password*" %n\n"

log level = 3 #Niveau de log Samba

syslog = 3 #Niveau de log Samba + LDAP

log file = /var/log/samba/log.%U #Répertoire des log de Samba max log size = 100000 #Taille maximal du fichier de log time server = Yes #Samba est aussi serveur de temps

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 #Optimization pour le protocol TCP/IP

authentifié (voir [home] plus bas)

logon path = \\ldap1\profiles\%U #Chemin qui indique aux clients Windows où stocker leurs profils itinérants

logon script = logon.bat #Nom du script à exécuter à l’ouverture d’une session (voir [netlogon] plus bas)

logon drive = H: #Lettre du lecteur réseau qui mène à l’espace personnel de l’utilisateur (voir [home] plus bas)

os level = 65 #un « os level » de 65 permet au serveur Samba

d’être forcément le contrôleur de domaine face à un serveur Windows (dans le cas où 2 contrôleurs de domaine se trouvent sur le même réseau)

preferred master = Yes #Indique que ce serveur sera choisi en cas d’élection d’un contrôleur de domaine (si 2 serveurs sont en

« preferred master = yes » alors celui qui a le plus utilisateurs sont stockés sous LDAP

###Définition de l’organisation de l’arbre LDAP###

ldap admin dn = cn=admin,dc=clin,dc=local ldap suffix = dc=clin,dc=local

ldap group suffix = ou=Groups ldap user suffix = ou=Users

ldap machine suffix = ou=Computers

###Définition des scripts (voir plus bas dans la partie Smbldap-tools)###

add user script = /usr/sbin/smbldap-useradd -m "%u"

delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"

set primary group script = /usr/sbin/smbldap-usermod -g '%g' '%u'

ldap ssl = no #Indique que la communication avec OpenLDAP

n’est pas chiffrée

create mask = 0640 #Tout fichiers créés dans les différents répertoires (sauf indication contraire (voir plus bas)) ont les droits 640

directory mask = 0750 #Tout dossiers créés dans les différents répertoires (sauf indication contraire (voir plus bas)) ont les droits 750

guest account = nobody #Les compte invité (utilisateurs qui parcours les dos- siers publiques de Samba ont le droit de l’utilisateur

« nobody ») map to guest = Bad User

###Définition des partages###

[homes] #Répertoire personnel des utilisateurs

comment = Dossiers personnels #Commentaire

browseable = no #Invisible dans le voisinage réseau

writable = yes #Accessible en écriture

guest ok = no #Les utilisateurs invité n’y ont pas accès

valid users = %U, clin\%U #Seul l’utilisateur authentifié à droit de voir son réper- toire personnel (« %U » est l’utilisateur authentifié)

[netlogon] #Répertoire où sont stockés les scripts exécutés par

Les clients Windows lors de leurs connexions path = /home/netlogon/%G #Chemin du répertoire (où « %G » est le groupe

primaire de l’utilisateur)

browseable = No #Invisible dans le voisinage réseau

read only = yes #Accessible en lecture seul

guest ok = no #Les utilisateurs invité n’y ont pas accès

[profiles] #Répertoire où sont stocké les profiles itinérants

comment = profils itinerants #Commentaire toire personnel (« %U » est l’utilisateur authentifié)

[public] #Répertoire accessible à tout le monde

comment = Dossier public #Commentaire

Nous avons donc configuré le fichier de configuration de Samba et avons donné des chemins vers des répertoires (netlogon, public, profiles et home), il nous faut donc créer les dossiers (en leur attribuant les bon droits) au bon endroit afin que ces chemins pointent vers leur bonne destinations :

root@LDAP1:~#mkdir /home/netlogon root@LDAP1:~#chmod 775 /home/netlogon root@LDAP1:~#mkdir /home/profiles root@LDAP1:~#chmod 773 /home/profiles root@LDAP1:~#mkdir /home/public root@LDAP1:~#chmod 777 /home/public

Remarque : Nous n’avons pas créé le répertoire « home » car il s’agit d’un répertoire automatiquement créé qui pointe vers le répertoire personnel de l’utilisateur authentifié (ce répertoire est automatiquement créé à la création d’un utilisateur).

Nous redémarrons le démon Samba afin de prendre en compte notre configuration : root@LDAP1:~#/etc/init.d/samba restart

Stopping Samba daemons: nmbd smbd.

Starting Samba daemons: nmbd smbd.

Samba doit connaître le mot de passe administrateur du serveur OpenLDAP pour l’administration LDAP. Ca lui donnera l'autorisation de créer, supprimer, modifier des entrées pour les comptes utilisateurs, groupes et machines.

La commande suivante permet de le faire:

root@LDAP1:~#smbpasswd -W

Setting stored password for "cn=admin,dc=clin,dc=local" in secrets.tdb New SMB password: tototata

Retype new SMB password: tototata

Ceci créer un fichier « secret.tdb » se trouvant dans le répertoire /var/lib/samba que seul le super utilisateur (root) peut lire.

Documents relatifs