SAMBA
mardi 24 août 2004, par
Nous voulons configurer un serveur de fichiers et d’imprimantes sous LINUX (Workgroup) accessible à partir de clients NT et Linux, et autoriser des utilisateurs donnés à accéder à certains répertoires.
Pour cela, nous allons configurer un serveur samba v2.2.8 sous mandrake 9.x et nous utiliserons l’excellent outil webmin.
voir : WEBMIN : Généralités
Configuration de Samba avec webmin : webmin/Serveurs/Partage windows avec Samba

Installer le paquetage samba-server et ses dépendances :
urpmi samba-server
Droits des utilisateurs/Groupes sur les partages :

Nous voulons deux groupes (il est toujours plus facile de gérer des groupes plutôt que des utilisateurs) :
groupe administration : adm
groupe utilisateurs adella : adella
Partages avec les droits associés :
[public] : Accessible à tous les utilisateurs de adm et adella en RW. Seul le propriétaire d’un fichier pourra l’effacer
[distrib] : Accessible à adella en R et au groupe adm en RW
[documents] : Accessible à adella en R et au groupe adm en RW
[partage des imprimantes] : Seul le propriétaire et le groupe adm pourront supprimer un « travail d’impression »
[homes] : Chaque utilisateur aura un accès à son répertoire personnel
IMPORTANT : Le mécanisme des droits d’accès aux fichiers d’Unix est plus limité que NTFS (système de fichiers de windows NT). Elle se fait toujours de la manière suivante : r (lecture) w (écriture) x (execution/parcourir) pour utilisateur, groupe et reste du monde , Pour de plus grandes possibilités, il faut se tourner vers un système de fichier gérant les ACLs (Access Control List ou Liste de Contrôle d’accès, nous verrons cela dans un autre article ;-) ).
Commençons par créer les utilisateurs et les groupes puis ajoutons les utilisateurs dans leurs groupes respectifs (ex : en tant que root, à l’aide de UserDrake) :

ou bien en ligne de commande (en tant que root)
groupadd adella
groupadd adm
useradd utilisateur1 -G adella
useradd administrateur1 -G adm,adella
...
et rentrer un mot de passe
passwd utilisateur1
passwd administrateur1
...
Créer un répertoire appartenant à root (nommé serveur) qui sera la racine des répertoires partagés.
Créer les différents répertoires dans serveur. Choisir le groupe dans chaques répertoires et positionner le bit SGID à 1 (le fait de mettre SGID impose le groupe du répertoire à tout ce qui sera créé dans ce répertoire). Ce qui veut dire que, dans notre exemple, que tous les nouveaux fichiers auront le groupe adm.

En ce qui concerne le répertoire public, on veut que seul le propriétaire d’un fichier puisse l’effacer : Il faut mettre le Sticky bit à 1 (bit collant) au répertoire public
Ajouter les utilisateurs samba (en tant que root), il faut que les utilisateurs soient connus du système.
smbpasswd -a utilisateur1
New SMB password :
Retype new SMB password :
Added user utilisateur1
Faire de même pour l’utilisateur root :
smbpasswd -a
New SMB password :
Retype new SMB password :
Added user root
ou avec Webmin : Convertir les utilisateurs Unix vers des utilisateurs Samba

Dans conf. Globale/options réseau windows, configurer nom du workgroup, nom du serveur

ex :
WORKGROUP : ADELLA
Nom du serveur : PRINCIPAL
Mettre la sécurité au « niveau utilisateur »
Créer les partages (fichiers et imprimantes)

Pour chaque partage, configurer ses options :

Sécurité et Contrôle d’Accès :

192.168.1 autorise les machines sur le réseau 192.168.1.0/255.255.255.0 à se connecter sur le serveur samba
127. autorise la machine locale à se connecter sur le serveur samba
Permissions des fichiers :

Nouveau mode UNIX pour les fichiers : Droits par défaut lors de la création du fichier
Nouveau mode UNIX pour les répertoires : Droits par défaut lors de la création du répertoire
Forcer le mode UNIX pour les fichiers : Force les permissions des fichiers
Forcer le mode UNIX pour les répertoires : Force les permissions des répertoires
Permissions des fichiers et répertoires :
ex : 755 (Utilisateur, Groupe, Reste du monde)
| 7 | 5 | 5 |
|---|---|---|
| 2² 2¹ 2° | 2² 2¹ 2° | 2² 2¹ 2° |
| r w x | r _ x | r _ x |
r=lecture, w=écriture, x=exécution
donc 755 veut dire Contrôle total pour propriétaire (utilisateur a lecture/écriture/exécution) et lecture/exécution pour groupe et le reste du monde.
Ne pas oublier de redémarrer le service pour prendre en compte les modifications.
Swat permet de configurer samba à l’aide d’un navigateur.

Installer le paquetage samba-swat Vérifier à l’aide de webmin/serveurs/Services internet étendus (xinetd) que le service swat est activé puis vérifier la configuration :
| champ | valeur |
|---|---|
| port | 901 |
| socket_type | stream |
| wait | no |
| only_from | 127.0.0.1 |
| user | root |
| server | /usr/sbin/swat |
Redémarrer xinetd si nécessaire. Il est ensuite accessible à l’aide d’un navigateur sur le port 901( http://localhost:901 )
Service :
/usr/sbin/samba {start|stop|restart|status|condrestart}
Fichiers de configuration :
/etc/samba/smb.conf configuration de samba
/etc/samba/smbusers conversion nom windows -> nom Unix
(ex : administrateur -> root)
Utilitaires :
smbstatus voir les connexions en cours
smbpasswd modifier/rajouter le mot de passe d’un utilisateur samba
testparm /etc/samba/smb.conf Vérifie le fichier de configuration
smbclient Client pour accéder à des ressources sur un serveur SAMBA
nmblookup Résoudre nom de machine <-> adresse IP
smbmount Monte un système de fichier samba
Articles connexes :
Samba en Contrôleur de Domaine
Gestion des ACLs (Access Control Lists - Listes de Contrôle d’Accès)
SAMBA - Visualisation des ressources : Application QtSmbstatus
Voilà un rapide aperçu des possibilités de Samba. Active Directory est maintenant disponible à partir de la version 3 de Samba.
17/04/2005