{{tag>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 : [[http://forum.ubuntu-fr.org/viewtopic.php?id=115786|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=,password=,user 0 0 Pour cela il faut installer le package **smbfs** : apt-get install smbfs ====Les options==== Pour y avoir acces en **rw** (**r**ead/**w**rite), il faut configurer les droits sur la machine hôte. Puis, on peut utiliser les options **fmask** (**f**ile 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** (**d**irectory mask) afin de ne cibler que les **d**irectories (répertoires) : //dude/share /mnt/share_dude smbfs username=,password=,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= password= =====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