serveur samba linux centos 5 · serveur samba sous linux centos 5.4. Évidemment avant toute action...

21

Upload: others

Post on 30-Mar-2020

35 views

Category:

Documents


0 download

TRANSCRIPT

Serveur Samba Linux CentOs 5.4

Introduction.......................................................................................................3

En Bref.............................................................................................................................................3Composition matériel du Serveur....................................................................................................3Les services mis en place.................................................................................................................3

C'est Parti!.........................................................................................................3

Préparation du matériel....................................................................................................................3Installation du système..................................................................................................................3

Partitionnement des disques .......................................................................................................4Les Paquets.................................................................................................................................5Fin d'Installation et Reboot.........................................................................................................5

Serveur Samba en tant que Contrôleur de Domaine...................................6

La Partie Locale.............................................................................................................................6Création des comptes locaux UNIX ........................................................................................6

Les comptes utilisateurs.........................................................................................................6Les comptes machines............................................................................................................6

Création et affectation des droits d'accès aux répertoires.....................................................7Création de l'arborescence des répertoires ............................................................................7Affectation des droits d'accès aux répertoires........................................................................8

Droits ACLs sur des dossiers spécifiques..........................................................................9

La Partie Samba...........................................................................................................................11Ajout des comptes Samba.........................................................................................................11Paramètres de « /etc/samba/smb.conf »....................................................................................11

« smb.conf ».........................................................................................................................12

Côté Windows...............................................................................................................................14Modification de la clé de registre WindowsXP.........................................................................14Jonction au domaine .................................................................................................................15Création du compte Administrateur local.................................................................................16Les ACLs Linux dans Windows................................................................................................18

DATE : 02/2010 2 ÉDITÉ PAR ARNAUD GUEDJ

Introduction

En Bref...

Durant mon stage au CERTA de Vénissieux, j'ai eu l'opportunité de mettre en place un Serveur Samba sous Linux CentOs 5.4. Évidemment avant toute action réelle sur le serveur, chaque étape de l'installation et de la configuration fut testé sur une maquette (Ordinateur équipé de Linux CentOs 5.4 et Windows XP en tant que client sur une machine virtuelle, VirtualBox) puis validée par mon tuteur de stage, Cyril Nallet. Pour des raisons de secret professionnel, j'utiliserai des noms standard (noms d'utilisateurs, noms de partages....) tout au long de cette procédure.

Composition matériel du Serveur

Carte mère : Asustek M2N68-VM, format Micro ATX

Processeur : AMD Athlon X2 Dual-Core 7850, Socket AM2+ 0.065 micron

Mémoire : Corsair 2 Go DDR2-SDRAM PC5300

Disque dur : 2x 500 Go Seagate en RAID1 SATA 7200 RPM 16 Mo cache, 1x 160 Go

Lecteur optique : Lecteur DVD

Alimentation : ATX 500W

Les services mis en place

Notre Serveur Linux CentOS sera composé des services/serveurs suivants:

Un Serveur Samba qui sera serveur de fichiers, contrôleur de domaine et serveur Wins.

C'est Parti!

Préparation du matériel

Configurer le contrôleur de disque dur en mode RAID dans le BIOSRedémarrer en appuyant sur la touche F10 pour entrer dans l'outil de configuration RAID Nvidia.

Créer une grappe en RAID1 avec les 2 disques de 500Go (au prochain reboot, vérifiez que « healthy » apparaît en appuyant sur la touche F10.)

Installation du système

Démarrer à partir du DVD d'installation de CentOS 5.4 et suivez l'assistant d'installation (langue, clavier, heure...)

DATE : 02/2010 3 ÉDITÉ PAR ARNAUD GUEDJ

Partitionnement des disques

Une fois arrivé a l'utilitaire de disque, partitionnez vos disques durs selon le schéma ci-dessous :

DATE : 02/2010 4 ÉDITÉ PAR ARNAUD GUEDJ

Les Paquets

Au menu de sélection des paquets à installer, cocher l'environnement de bureau souhaité (KDE ou Gnome), la fonction Server et Server GUI ( pour le mode graphique des programmes serveurs).

NE SURTOUT PAS COCHER les dépôts pour les paquets additionnels (CentOS Extra), car ça causera un plantage immédiat du programme d'installation.

Fin d'Installation et Reboot

ATTENTION EN FIN D'INSTALLATION, SI VOUS ACTIVEZ SELINUX ET LE PAREFEU, PENSEZ BIEN À AUTORISER L'ACCÈS AU SERVICES INSTALLÉS (SAMBA, DHCP)

A la fin de l'installation, le programme vous demandera de redémarrer l'ordinateur, donc acceptez le redémarrage, presser la touche « suppr » pour retourner dans les paramètres du bios et remettez le contrôleur de disque dur en mode SATA.

SANS CE PARAMÈTRE LE SYSTÈME NE POURRA PAS DEMARRER.

DATE : 02/2010 5 ÉDITÉ PAR ARNAUD GUEDJ

Serveur Samba en tant que Contrôleur de Domaine

La Partie Locale

Création des comptes locaux UNIX

Les comptes utilisateurs

Il est nécessaire de créer les comptes et les groupes UNIX pour pouvoir les ajouter aux groupes d'utilisateurs Samba.

➢ Création du groupe principal d'utilisateurs

➢ Création des utilisateurs

L'option « -g » permet de créer l'utilisateur directement dans son groupe primaire, le groupe « employes » dans notre cas.

Les comptes machines

La création de compte machine est obligatoire pour pouvoir s'authentifier sur le domaine, le nom du compte UNIX portera le nom de l'ordinateur Windows à joindre au domaine.

➢ Création du groupe des machines

➢ Création des comptes machines

Le symbole « $ » est nécessaire après le nom de la machine pour créer un utilisateur spécial, donc « PC1$ » dans notre cas.

➢ Ajouter un utilisateur à un groupe supplémentaire

L'option « -aG » de la commande usermod permet d'ajouter l'utilisateur à un groupe supplémentaire.

DATE : 02/2010 6 ÉDITÉ PAR ARNAUD GUEDJ

Aperçu de l'organisation des groupes utilisateurs:

Création et affectation des droits d'accès aux répertoires

Création de l'arborescence des répertoires

Afin de simplifier la gestion des accès aux différents dossiers partagés, on les nommera comme leurs groupes propriétaires.

Le répertoire principal sera placé dans « /home/employes/ ».

DATE : 02/2010 7 ÉDITÉ PAR ARNAUD GUEDJ

Affectation des droits d'accès aux répertoires

Le répertoire principal « employes » appartiendra au groupe principal « employes », et sera accessible uniquement en lecture et en exécution, afin de pouvoir accéder aux sous répertoires qui eux auront des droits d'accès variables selon les groupes.

➢ Approprier un répertoire à un groupe

La commande « chown » nous permet de le faire :

Explication : « chown utilisateurpropiétaire:groupepropriétaire répertoire »

On conservera toujours « root » en utilisateur propriétaire pour tous les dossiers.

➢ Affectation des droits d'accès aux répertoires

ou

La commande « chmod » sera utilisé pour cette opération, « u+ rwx» signifie accès en lecture, écriture et exécution pour l'utilisateur propriétaire du dossier, « g+rx » accès lecture et exécution pour le groupe propriétaire, et « o-rwx » le « - » pour aucun accès et « o » pour les autres (others),écrit en chiffre (octal) cela donne « 750 ».

Ensuite on continue d'affecter les droits et les propriétaires aux sous répertoires selon les besoins. Ici l'option -R (comme Récursif) de « chown » et « chmod » indique que l'on applique les droits au sous répertoires inclus.

Ex:

Donc on donne un accès total à « root » et au groupe « secretariat », et aucun aux autres.

DATE : 02/2010 8 ÉDITÉ PAR ARNAUD GUEDJ

Droits ACLs sur des dossiers spécifiques

Les droits ACLs vont nous permettre d'affiner les droits d'accès sur les répertoires. C'est à dire que certains utilisateurs faisant parti d'un même groupe pourront avoir des droits d'accès différents aux répertoires. Le but de cette fonction est de minimiser la création de groupe contenant 2 ou 3 utilisateurs, juste pour un répertoire spécifique.

Pour commencer nous devons au préalable ajouter l'option « acl » dans « /etc/fstab », pour monter automatiquement à chaque démarrage la partition « / » et « /home » avec l'option « acl » activée.

Donc « nano /etc/fstab » :

On ajoute « ,acl » après defaults (et ne pas oublier la virgule), sur la ligne qui correspond au point de montage souhaité, « / » et « /home » dans l'exemple ci-dessus, puis on redémarre le serveur pour la prise en compte des paramètres.

Maintenant passons à la pratique, prenons l'exemple d'un dossier à l'intérieur du partage sur lequel on donnera accès en lecture et exécution au groupe « employes », et le contrôle total (rwx) uniquement aux utilisateurs « directeur » et « adjoint-dir » et qui font aussi parti du groupe « employes ». La commande pour définir les droits sera « setfacl ».

Explication: -m = modifier, d = default pour inclure les sous dossiers déjà existants et qui seront crées, g, u ou o = group, user ou others, rwx = lecture, écriture et exécution.

DATE : 02/2010 9 ÉDITÉ PAR ARNAUD GUEDJ

Pour obtenir des informations en détails sur les ACLs appliqués on utilise la commande « getfacl ».

On aurai pu faire un « chmod 750» avant d'appliquer les ACLs pour ne donner aucun accès aux autres « other », ainsi qu'un « chown root:employes employes/dossier », avant d'appliquer les ACLs afin d'approprier le répertoire au groupe « employes », mais ce n'est pas obligatoire.

Une fois les droits ACLs appliqués sur les dossiers voulus, on devra les faire correspondre avec les droits NTFS dans Windows XP, chose que nous verrons un peu plus bas.

DATE : 02/2010 10 ÉDITÉ PAR ARNAUD GUEDJ

La Partie Samba

Ajout des comptes Samba

Après avoir créer les comptes locaux UNIX nous devons les ajouter dans Samba ou plus particulièrement dans le fichier « /etc/samba/smbpasswd » afin de pouvoir s'authentifier sur le domaine NT.

Pour cela, nous utiliserons la commande « smbpasswd » avec l'option « a » pour ajouter le compte et créer un mot de passe, et « m » pour spécifier quand il s'agit d'un compte machine (nom d'ordinateur Windows).

Ne pas oublier d'ajouter le compte « root » dans Samba(avec « smbpasswd -a », car il sera l'administrateur du domaine et son compte nous permettra de joindre les clients sur le domaine.

IMPORTANT: Pour éviter tout problème il est préférable que l'utilisateur « root » est le même mot de passe pour le compte UNIX et Samba.

Paramètres de « /etc/samba/smb.conf »

Le fichier « smb.conf » est le fichier de configuration principal d'un serveur Samba, c'est lui qui va définir les noms de partages, le mode de sécurité, les droits, le nom netbios...

Après chaque modification de « smb.conf » il est nécessaire de redémarrer le démon smbd avec la commande « service smb restart » ou « /etc/init.d/smb restart ».

Afin de vérifier les éventuelles erreurs de syntaxe de « smb.conf » on saisi la commande « testparm », ce qui nous donne:

En pressant la touche « entrée » on verra alors apparaître les paramètres de « smb.conf » précédemment définit.

Voici un exemple de « smb.conf » bien commenté :)

DATE : 02/2010 11 ÉDITÉ PAR ARNAUD GUEDJ

« smb.conf »

#======================== Paramètres Globaux ==================================

[global]

#nom du domaineworkgroup = sambatest.local

#Description de la machineserver string = Dossier de l'entreprise

#nom netbios de la machinenetbios name = partsamba

#type d'authentification de l'utilisateursecurity = userencrypt passwords = yes

#Active la fonction contrôleur de domaine de Sambadomain logons = yes

#Définit si Samba doit participer à l'élection du "maître explorateur #local"(limite le broadcast)#Le fait d'avoir de multiples navigateurs maitres locaux entraine une #compétition entre les serveurs #au niveau des requetes d'élection de navigation. Assurez-vous de ne bien avoir #qu'un seul navigateur #maitre local par sous-réseau.

local master = yes

#gagner l'élection d'explorateur local sur un domaine NT qui a pour valeur #maximale 32

os level = 35

#Définit si Samba doit être le "maître explorateur de domaine" pour son domainedomain master = yespreferred master = yes

#définit les Admins du domaineadmin users = root @adm

#activer le serveur Wins et l'ordre de résolution de noms (limite le broadcast)wins support = yesname resolve order = wins bcast host lmhosts

#désactive les profiles itinérant' en laissant les chemins vides logon path = logon home =

#spécifier les réseaux ou adresses IP autorisés ou non à se connecterhosts allow = 192.192.192. 192.168.1. 127.0.0.1hosts deny = ALL

#améliore les performances du réseausocket options = TCP_NODELAY

#configuration du chemin des logs du serveur et taille maximalelog file = /var/log/samba/%m.logmax log size = 1000

DATE : 02/2010 12 ÉDITÉ PAR ARNAUD GUEDJ

#============================ Définitions des Partages ========================

#nom du partage[ENTREPRISE]#description du partage

comment = ENTREPRISE#chemin local du partage

path = /home/entreprise#détermine si le partage apparaitra dans la liste des partages du serveur

browseable = yes#droit d'écriture et lecture dans le dossier

read only = no#détermine le groupe et les droits par défaut à la création des fichiers et #dossiers

force group = ENTREPRISE_userscreate mask = 0770directory mask = 0770

#====================== Droits ACLs ===========================================

#active les paramètres acls configurés dans UNIXinherit acls = yes

#active l'héritage des permissions dans les sous dossiersinherit permissions = yes

#active l'héritage des droits du propriétaire du dossierinherit owner = yes

Chaque ligne commentée commence par un « # » , chose aussi très utile pour activer ou désactiver rapidement un paramètre.

DATE : 02/2010 13 ÉDITÉ PAR ARNAUD GUEDJ

Côté Windows

Une fois tout configuré côté Linux, nous allons joindre un client Windows XP au domaine, puis faire correspondre les droits ACLs, mais avant tout il sera nécessaire de modifier une clé de registre pour joindre le domaine.

Modification de la clé de registre WindowsXP

Donc « Démarrer, Exécuter, regedit.exe » et allez au chemin indiqué ci-dessous puis mettre la valeur à 0, et redémarrer.

HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\netlogon\parameters\"RequireSignOrSeal"

Si cela ne fonctionne pas, mettez à 1 la valeur de la clé ci-dessous (personnellement je n'ai pas eu à modifier cette deuxième clé pour que cela fonctionne.)HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\System\"CompatibleRUPSecurity"

Note : Sur les postes clients Windows Vista/7, il y a aussi des modificattions de registre à effectuer mais qui sont différentes.

DATE : 02/2010 14 ÉDITÉ PAR ARNAUD GUEDJ

Jonction au domaine

Pour joindre une machine au domaine nous avons besoin du compte « root/administrateur du domaine NT » précédemment ajouter dans Samba.

Donc click droit sur le poste de travail « propriété, nom de l'ordinateur » puis cliquez sur le bouton modifier et choisissez membre de « domaine », saisissez « root » avec le mot de passe.

Après ce message on vous demandera de redémarrer l'ordinateur pour connecter une session utilisateur sur le domaine.

DATE : 02/2010 15 ÉDITÉ PAR ARNAUD GUEDJ

Après le redémarrage, vous pourrez vous connecter sur le domaine en choisissant l'option « se connecter à : » avec votre nom d'utilisateur et mot de passe précédemment crée.

Création du compte Administrateur local

Nous allons voir comment ajouter l'utilisateur du domaine au groupe local « Administrateurs » .

Une fois connecté en tant que utilisateur du domaine allez dans le « Panneau de configuration » puis « Comptes d'utilisateurs », ensuite il vous sera demandé de fournir votre identifiant de compte Administrateur local déjà existant, saisissez les, puis vous devriez voir apparaître une fenêtre comme ci-dessous:

Cliquez sur « Ajouter... »

DATE : 02/2010 16 ÉDITÉ PAR ARNAUD GUEDJ

Entrez votre nom d'utilisateur du domaine, puis le nom du domaine, dans notre cas « SAMBATEST.LOCAL » puis « Suivant ».

Ensuite choisissez « Administrateurs » dans le menu déroulant et cliquez sur « Terminer » puis « OK ».

Après la création du compte, on vous proposera de fermer la session pour la prise en compte des modifications.

DATE : 02/2010 17 ÉDITÉ PAR ARNAUD GUEDJ

Les ACLs Linux dans Windows

Nous avons vu précédemment sous Linux, comment affecter les ACLs pour les dossiers à partager. Maintenant nous allons voir comment les faire correspondre dans un environnement NT. Cette opération est à effectuer qu'une seule fois sur un de vos poste client.

Commencer par connecter un lecteur réseau du partage Samba dans le poste de travail en tant que « root » pour avoir tous les droits sur le partage:

DATE : 02/2010 18 ÉDITÉ PAR ARNAUD GUEDJ

Comme vous pouvez le constatez les ACLs que nous avions appliqués précédemment pour ce dossier ne le sont pas vraiment sous Windows. Si les ACLs Linux n'avaient pas du tout été définis, il serait alors impossible de changer les droits des utilisateurs dans Windows, car les droits UNIX de base (commandes chmod et chown) ne le permettent pas.

IL EST VIVEMENT CONSEILLÉ DE NE PAS MODIFIER DES DROITS OU AJOUTER D'AUTRES GROUPES/UTILISATEURS DANS WINDOWS QUI N'ONT PAS ÉTÉ CRÉE DANS LINUX, CELA EVITERA TOUT PROBLEME.

DATE : 02/2010 19 ÉDITÉ PAR ARNAUD GUEDJ

Donc pour l'utilisateur « adjoint-dir » et « directeur » on cochera contrôle total ce qui correspond à « rwx » dans Linux:

DATE : 02/2010 20 ÉDITÉ PAR ARNAUD GUEDJ

Ensuite cocher les autorisations pour le groupe « employes » :

Note : Il se peut qu'en faisant « Appliquer » les cases se décocheront pour le groupe « employes », ne pas s'inquiéter les droits seront malgré tout appliqués.

DATE : 02/2010 21 ÉDITÉ PAR ARNAUD GUEDJ