Table of Contents
CIFS SMB réseau
Samba
Installation
(sous Debian par exemple)
apt-get install samba samba-common smbclient smbfs swat samba-doc
Normalement le démon samba devrait se lancer automatiquement au démarrage.
Swat
La configuration de Samba peut se faire aussi en utilisant Swat, un outil de configuration de Samba par interface web. Ce dernier sera lancé par inetd, pour cela, vérifiez que /etc/services
contient bien la ligne
swat 901/tcp #swat
et que /etc/inetd.conf
contienne bien
swat stream tcp nowait.400 root /usr/sbin/swat swat
L'interface swat est accessible sur le port 901 de la machine ; on y accède avec un navigateur en saisissant l'adresse http://nom_de_la_machine:901 ; pour l'authentification, il faut utiliser le compte root.
Si besoin, ne pas oublier de relancer inetd :
/etc/rc.d/init.d/inetd restart
Gestion des utilisateurs
Créer un utilisateur
Samba utilise les utilisateurs du système, avec des mots de passe différents. Il est recommandé de créer un utilisateur spécial avec peu de droit (pas de shell valide par exemple), smbuser par exemple, appartenant à un groupe spécial, smbusers par exemple :
groupadd smbusers useradd -g smbusers -s /bin/false smbuser
.. puis lui attribuer un mot de passe (uniquement pour samba) :
smbpasswd -a smbuser
NB : depuis Samba 4, la commande a changé : comme on a passdb backend = tdbsam
elle devient :
pdbedit -a smbuser # pour convertir une base smbpasswd en tdbsam : pdbedit -i smbpasswd -e tdbsam
Lister les utilisateurs
source : forum.ubuntu-fr.org
Tout d'abord vérifier que votre smb.conf
contient bien le backend tdbsam :
grep -ni backend /etc/samba/smb.conf 110: passdb backend = tdbsam
Puis passer cette ligne de commande (elle liste les comptes utilisateurs qui ont un mot de passe samba configuré) :
pdbedit -Lw | egrep -v ":X{32}:X{32}:" | awk -F: '{print $1}' smbuser toto
Configuration
Le fichier de configuration est /etc/samba/smb.conf
; par exemple pour créer un partage de /sav
:
[sav] comment = Partition de sauvegarde path = /sav read only = no writable = yes guest ok = yes public = yes
Pour tester la configuration :
testparm -s
Montage automatique dans la fstab
On peut monter des répertoires samba partagés en les montant comme des répertoires locaux dans /etc/fstab
:
//dude/share /mnt/share_dude smbfs username=<user>,password=<pwd>,user 0 0
Pour cela il faut installer le package smbfs :
apt-get install smbfs
Les options
Pour y avoir acces en rw (read/write), il faut configurer les droits sur la machine hôte. Puis, on peut utiliser les options fmask (file mask ; équivalent de umask pour smbfs) afin d'ajuster les permissions des fichiers de la partition montée. On peut affiner les droits en utilisant dmask (directory mask) afin de ne cibler que les directories (répertoires) :
//dude/share /mnt/share_dude smbfs username=<user>,password=<pwd>,fmask=775 0 0
Les options de type uid et gid sont similaires aux autres montages que l'on peut faire dans la fstab.
MAJ 24/12/2007: les options dmask et fmask semblent tomber en désuétude. Elle sont remplacées respectivement par dir_mode et file_mode, à définir en octal (précédée d'un “0”).
Credentials
Pour ne pas laisser le login/pass en clair dans la fstab, on peut utiliser un fichier credentials
:
//dude/share /mnt/share_dude smbfs credentials=/root/smbpass.cre,fmask=775 0 0
Le nom et l'emplacement du fichier smbpass.cre
est arbitraire, mais il faut veiller à ce qu'il ne soit lisible que par le root.
vi /root/smbpass.cre username=<user> password=<pwd>
Divers
Compatibilité Vista
Il faut veiller à avoir la ligne suivante pour faire marcher Samba avec un Windows Vista, Microsoft ayant changer le protocole SMB dans son dernier OS :
map acl inherit = yes
cela dit je l'utilise actuellement sans avoir fait cette modif et sans problème
smbstatus
Renvoie le status du serveur Samba avec notamment la liste des utilisateurs connectés, les ressources accédées, etc…
smbstatus Unknown parameter encountered: "read-only" Ignoring unknown parameter "read-only" Samba version 3.0.28a PID Username Group Machine ------------------------------------------------------------------- 17290 toto titi thor (192.168.0.2) 17340 titi smbusers thor (192.168.0.3) Service pid machine Connected at ------------------------------------------------------- data 17290 thor Tue Apr 15 22:21:10 2008 data 17340 thor Tue Apr 15 22:24:42 2008 No locked files