LAMP : 9ème Etape - Samba [DEBIAN]

DEBIANLINUXVIRTUAL HOSTUTILISATEURSSAMBAPARTAGEDOMAINE WINDOWSACTIVE DIRECTORY
logo samba linux

SAMBA - Installation - Configuration

Samba permet de partager des dossiers sous Linux avec des ordinateurs locaux sous Windows, très pratique, donc !

De plus, il permet d’établir un réseau relativement sécurisé grâce à ses nombreuses fonctions.

Nous allons utiliser samba de deux façons :

La première :

Dans notre politique de sécurité, nous allons décrire le paramétrage de samba pour que certains répertoires FTP soient accessibles avec samba pour les utilisateurs locaux.

Pourquoi ?, pour citer un exemple, une société extérieure doit livrer un travail à des personnes interne à notre entreprise. La société extérieure aura seulement un accès ftp pour déposer son travail, et la personne interne à notre entreprise aura un accès samba (à la windows) sur le même dossier.

La deuxième :

Quelques personnes de notre entreprise précisément désignées auront des dossiers partagés sous samba.

Installation de SAMBA

Commencez d’abord par l’installer : connectez vous en root et saisissez :

apt-get install samba

A la fin du téléchargement, samba vous demande le nom du groupe de travail ou du domaine.

Samba vous demande ensuite si vous voulez modifier smb.conf pour utiliser les paramètres WINS fournis par DHCP.

En ce qui nous concerne, notre serveur n’est pas en DHCP, mais nous choisissons OUI, car si plus tard, nous décidons d’activer DHCP sur le serveur, samba pourra récupérer automatiquement les noms netbios.

Configuration

Il faut ensuite configurer quelques lignes du fichier smb.conf :

nano /etc/samba/smb.conf

En Ligne 27, nous avons renseigné le groupe de travail (ou le domaine), en principe, il est prérenseigné car vous l’avez saisi à l’installation du paquet.

Il est possible, sous samba, d’autoriser l’accès aux dossiers partagés depuis des adresses ip préalablement définies.

Nous ne l’avons pas fait car il n’est pas possible de définir des masques et nous aurions beaucoup trop d’adresse ip à saisir, mais la procédure est la suivante, pour les personnes intéressées :

Dans smb.conf, il faut ajouter la ligne suivante :

Après « ####### Authentication ####### », vers la ligne 88, :

hosts deny = ALL hosts allow = ***.***.*.*

En remplaçant ***.***.*.* par l’ip local de l’ordinateur qui aura accès aux partages.

Si vous souhaitez mettre plusieurs ip, séparez les par des espaces.

SAMBA : Gérer les utilisateurs

Toujours dans smb.conf, un peu plus loin, vers la ligne 94, décommentez la ligne

 ;security = user

En supprimant le point virgule.

Cela signifie que par défaut seuls les utilisateurs enregistrés auprès de samba auront accès aux partages.

A l’inverse, « security=share » , (ligne suivante), autorise n’importe quel accès anonyme et est donc un mode bien moins sécurisé (que nous n’avons pas choisi).

SAMBA : Dossiers Partagés / Droits d’accès

Toujours dans /etc/samba/smb.conf :

Les droits d’accès sont à configurer dans la partie “Share Definitions” : Par défaut, ils sont très limités.

Tout d’abord, pour autoriser les utilisateurs à naviguer et à écrire dans leur dossier personnel , modifier la partie [homes] de cette manière :

EXPLICATION

“create mask” est le CHMOD associé aux fichiers créés.

644 correspond à Lire/ecrire pour les fichiers (nous n’avons pas mis le droit executer car nous voulons limiter le rôle de samba à un serveur de fichier et non pas d’application).

“directory mask” est celui associé aux dossiers créés.

755 correspond correspond à tout les droits.

Partage de dossiers pour les utilisateur locaux

Comment partager un dossier :

Toujours dans smb.conf, il faut décrire chaque partage de chaque dossier.

Pour celà, il est pratique de les décrire en fin de fichier.

Il faut commencer par le nom du partage entre crochets, puis renseigner les différentes règles qui lui seront affectées :

EXEMPLE D’UN PARTAGE DE DOSSIER AJOUTE DANS SMB.CONF

Ne pas oublier ensuite, de créer le dossier approprié sur le serveur.

Exemple :

mkdir /home/NomduDossierPartagé

SAMBA - Utilisateurs

Il faut maintenant ajouter les utilisateurs de Samba.

Les utilisateurs samba doivent forcément être des utilisateurs système, utilisez pour cela la commande adduser que vous pouvez compléter par la spécification du dossier personnel, auquel l’utilisateur aura accès par défaut (via samba) :

Création d’un utilisateur système :

adduser —shell /bin/false –home /home/votre_dossier NomNouvelUtilisateur

Option choisie : "—shell /bin/false" lui interdira d’avoir un shell en accès console.

Vous est alors demandé le mot de passe associé ainsi que différentes informations que vous pouvez laisser vide.

Donner ensuite l’accès à Samba

Pour qu’un utilisateur système ait ensuite un accès aux dossiers partagés de Samba, utilisez la commande :

smbpasswd –a NomNouvelUtilisateur

Le système demande alors le mot de passe système qui a été affecté à l’utilisateur.

Finalisez le tout, en redémarrant le service samba :

/etc/init.d/samba restart

Pour avoir accès aux partages depuis Windows XP, il est indispensable d’avoir un compte XP avec les mêmes noms/mots de passe que sous Linux.

Vous pouvez également partager des répertoires avec webmin (menu serveur, partages)...

SAMBA : Connecter à un domaine windows

Connecter Samba à un domaine windows vous permettra entre autres de partager sur le serveur Samba des dossiers qui seront visibles depuis les utilisateurs du domaine windows et hériterons des droits windows sur ses propres dossiers. Les dossiers samba partagés seront partagés avec windows, comme n’importe quel dossier partagé windows.

Ensuite, avec webmin, vous pouvez configurer samba pour lui faire rejoindre votre domaine :

La sélection de l’icône "joindre au domaine" vous enchaine l’écran suivant qu’il faut compléter évidemment du vrai nom de votre domaine.

Et tout baigne.
Si un message d’erreur du genre ... :

Il ne faut pas s’affoler, dans ce cas, il semble prudent d’effectuer l’ensemble des procédures de liaisons au domaine et tout rentrera dans l’ordre.

SAMBA : Donner des droits aux utilisateurs Active Directory

Les procédures de créations de dossier partagé sont strictement les mêmes que supra-évoqué, cependant, webmin ne nous aidera pas beaucoup dans cette étape car il semble ne travailler que sur les utilisateurs linux et n’affiche pas les utilisateurs d’active directory (quand on essaye par exemple d’ajouter des groupes à écrire sur la zone samba).

Passons donc par l’édition manuelle du smb.conf où nous allons créer l’espace de partage Samba

nano /etc/samba/smb.conf

Dans cet exemple, nous avons ajouté et autorisé le groupe s_info (qui existe sur l’active directory), à écrire sur la zone de partage. Ainsi, tous les utilisateurs du groupe s_info de l’active directory peuvent écrire sur cette zone samba appelée, pour l’exemple "Intranet".

Attention de bien vérifier les options create et directory mask, pour donner les bons droits aux répertoires et fichiers créés (voir plus haut dans cet article dédié à Samba.).

Ne pas oublier de refaire systématiquement redémarrer samba après chaque modification de smb.conf, soit avec webmin, soit avec la commande suivante :

/etc/init.d/samba restart

Portfolio