Plusieurs méthodes d'installation en fonction de votre distribution, soit par :
Les paquages (par défaut) sont :
Note :
Sur Suse il suffit de cliquer 2 fois sur l'icône “serveur SAMBA” dans “services réseaux” (dans Yast).
L'installation des paquages se fait automatiquement.
La commande « smb – V » vous permet de connaitre la version de votre serveur installé.
Pour consulter la liste des fichiers constituant les paquets :
rpm -ql nomdupaquet
Pour supprimer un paquet proprement :
rmp -e nomdupaquet
La 1ère étape est de tester le démon smbd.
Pour cela, créer un partage sur une machine Windows.
Ajouter un utilisateur sur ce partage. L'utilisateur doit disposer d'un mot de passe.
En effet, sans le mot de passe l'authentification à la ressource partagée ne se fera pas.
Sans aller dans le détail, cela est une restriction dû aux droits NTFS.
La commande pour tester tous les partages (locaux ou distants) est « smbclient »
smbclient //ippcdistant/nomdupartage -Uutilisateurdistant
L'option “-U” permet de renseigner l'utilisateur autorisé à accéder au partage.
La même commande peut-être utilisée avec la valeur “%mp” afin d' éviter la demande du mot de passe de l'utilisateur.
smbclient //ipdistant/partage -Uuser%mp
Le prompt smb apparait.
La commande « help » vous permet d'obtenir les commandes disponibles.
Note :
Certaines commandes comme chmod, chown, rm… sont des commandes propre au noyau UNIX et ne fonctionneront pas si votre partage se trouve sur un système Windows.
Votre fichier de configuration se situe dans la répertoire /etc/samba/smb.conf (sous suse/debian)
Pour l'éditer, vous pouvez utiliser l'éditeur de texte « vi »
vi smb.conf
Smb.conf est défini en section entre crochet. Elle se termine dès l'apparition d'une autre section.
Le nom d'une section désigne un service correspondant à un répertoire ou à une imprimante.
Chaque section contient des options sous la forme :
option = valeur
Les noms des sections et des options sont insensibles à la casse.
Les lignes commençant par un “#” ou “;” sont ignorées.
Note :
Samba détecte les modifications du fichier smb.conf. Il le relis au bout d'une minute.
Néanmoins il est possible de redémarrer les démons smbd (/etc/init.d/smb restart) pour forcer la relecture du fichier.
init.d est le démon TCP/IP.
[global]
Cette section décrit le comportement général de samba.
[homes]
Cette section permet de partager votre répertoire utilisateur.
[printers]
Cette section permet l'accès aux imprimantes du système.
Il rgarde dans le fichier de configuration /etc/cups/printers.conf
Comme sous Windows il y a une gestion des ACL sous un noyau UNIX.
Ce sont les ACL les plus restrictives qui sont pris en compte.
Sous UNIX c'est exactement la même chose.
Ains, si dans votre fichier smb.conf vous avez l'option “writable” positionné en yes et que dans votre répetoire de partage seul l'utilisateur root peut écrire, il vous sera impossible d'écrire dans ce répertoire.
Bien que cette documentation traite de SAMBA, il est important de rappeler les bases concernant les droits de sécurité afin d' éviter toutes erreurs de paramétrage.
la commande « ls -l nomdurépertoire » vous liste les droits de sécurité.
Example :
ls -l
Cela va donner :
drwxrwxrwx samba
Un droit sur Unix est défini en une chaîne de neuf caractères (le d = directory) décomposé en trois bloc.
r= read
w= write
x=execute
Pour modifier les droits sur un fichier ou répertoire il est possible de la faire de 2 façons :
Nous verrons ici que la représentation octale est très simple et rapide à saisir.
Comme les droits sont positionnels, on peut les représenter sous formes de bits (0/1) Il faut donc 3 bits pour représenter un triplet de droits.
Le droit r = 4
le droit w = 2
le droit x = 1
Si je souhaite obtenir les droits suivants “rwxr-xr-x” alors le chmod du fichier ou répertoire sera de “755”
Examples :
chmod 755 toto
Si je veux modifier le propriétaire par un utilisateur “admin” :
chown admin toto
Si je veux remettre le propriétaire du répertoire par “root” et je veux mettre le groupe par “users” :
chown root:users toto
Tout au long de la documentation nous allons utiliser l' option “Security” qui peut prendre 5 valeurs.
Share
User (par défaut)
Domain (Intégrer le serveur Samba dans un domaine WinNT)
Server (obsolète, on l'utilisait avant, à la place de Domain)
Ads
Pour bien comprendre le fonctionnement d'un serveur SAMBA nous allons crée un nouveau fichier smb.conf et renommer l'original en .bak
Mv /etc/samba/smb.conf /etc/samba/smb.conf.bak
vi smb.conf
Saisissez cette 1ere configuration :
[global] security = share [test] path = /chemindurépertoire (ex: /home/test) writable = yes guest ok = yes
Note :
Prenez pour habitude d'avoir une fenêtre qui affiche vos logs dans un terminal.
Faites un « tail -f /var/log/samba/log.smbd » qui affichera les 10 dernières lignes de votre log en temps réel.
Pour tester la configuration du fichier de configuration smb, faire un
testparm
Pour tester la connexion et l'authentification :
smbclient //localhost/partage
Explications du fichier de configuration :
Ici l'authentification n'est pas obligatoire et l'accès invité est autorisé.
Possibilité de lecture et d'écriture sur le partage grâce à l'option “writable” en fonction des droits chmod.
Il est possible d'ajouter d'autres options que nous ne verrons pas sur ce mode de securité qui présente peu d'intérêts en terme de sécurité.
Pour rappel l'authentification au niveau du partage est obligatoire.
[global] security = user [test] path = /chemindurépertoire writable = yes
Explications :
Afin de vous connecter sur le partage il faut créer l'utilisateur sur votre système (/etc/passwd)
useradd nom user
Pour supprimer un utilisateur :
userdel nom user
Enfin, il faut créer l'utilisateur Unix dans la base SAM du serveur samba.
smbpasswd -a nomuser
Pour supprimer un utilisateur :
smbpasswd -x nomuser
La commande “pdbedit” vous permet d'interroger la base SAM.
L'option “help” sur une commande vous permettra d'en connaitre les diverses options disponibles.
“man” et le “nom de la commande” (ex : man pdbedit) vous affiche le manuel de la commande.
Ce droit n'a de sens que sur un répertoire et si plusieurs utilisateurs (membre du même groupe par exemple) peuvent y créer leurs fichiers.
Ce droit empêchera la suppression des fichier/dossiers qui y sont contenus par quelqu'un d'autre que son propriétaire.
Pour appliquer le droit « sticky bit », 2 solutions :
chmod 1755 toto
[global] security = user [test] path = /chemindurépertoire writable = yes Directoty mask = 1700 Create Mask = 1700 invalid users = le user ou @groupe de votre choix
Explications :
Cette option adopte les notations octales propre à Unix pour indiquer les droits par défauts associés aux répertoires..
La valeur 1700 spécifie la « lecture/écriture » et « exécution » pour le
« propriétaire seulement ». (rwx——).
Ainsi si le « propriétaire » ne souhaite pas que les « membres du groupe » et les « autres » puissent consulter ses répertoires crées dans le partage il est possible d'y ajouter cette option.
Idem que directory mask
Cette option permet de définir des utilisateurs supplémentaires qui ne doivent pas accéder au partage. Les utilisateurs définit verront le partage mais ne pourront pas y accéder.
Cette section correspond à la possibilité de partager les répertoires de connexion des utilisateurs, sans avoir à les énumérer individuellement dans le fichier smb.conf.
[homes] writable = yes browsable = no veto files = /.*/
Explications :
L'option « browsable » avec la valeur «no » empêche le partage d'apparaître dans le voisinage réseau.
L'utilisateur pourra écrire dans son répertoire.
L'option «veto files » permet de masquer tous les fichiers commençant par un “.“
Ainsi que ce soit un sytème Unix ou Windows, il ne pas possible de visualiser les fichiers cachés de vos répertoires.