Table des matières
Présentation
Samba est un service qui s'installe sur un serveur (Linux) pour permettre à des ordinateurs distants ( Linux ou Windows ) d'accéder à ce serveur comme à une unité de disque s'il s'agit d'un partage de fichier, ou comme une imprimante s'il s'agit d'un partage d'imprimante.
Installation sur un serveur Linux
Procédure normale
Installation du logiciel
sudo su
apt-get install samba
Donner un nom de domaine qui sera le nom de domaine vu par les PC présents sur le réseau local si cela est demandé
Fichier de configuration de samba
le fichier /etc/samba/smb;conf peut contenir par exemple :.
[global] workgroup = IGNU server string = %h server dns proxy = no log level = 1 log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d hosts deny = ALL hosts allow = 192.168.0. security = user encrypt passwords = true passdb backend = tdbsam obey pam restrictions = yes invalid users = root passwd program = /usr/bin/passwd %u passwd chat = *Enter\snew\sUNIX\spassword:* %n\n *Retype\snew\sUNIX\spassword:* %n\n *password\supdated\ssuccessfully* . socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192 [HOMES] comment = Home Directories browseable = yes writable = yes create mask = 0644 directory mask = 0755 valid users = %S [printers] comment = All Printers browseable = no path = /var/spool/samba printable = yes public = no writable = no [print$] comment = Printer Drivers path = /var/lib/samba/printers browseable = yes read only = yes guest ok = no
Ces quelques lignes permettent d'exporter les répertoire home des utilisateurs connectés à distance.
Comptes
Par exemple gilles sur la machine distante pourra ainsi se connecter sur /home/gilles sur la machine sur laquelle le serveur est installé.
Il faut donc que le compte gilles soit créé sur la machine serveur (commande adduser)
ensuite faire
smbpasswd -a gilles
Lancer la commande :
/etc/init.d/samba restart
Ajouter un répertoire
Pour ajouter un répertoire, par exemple un gros disque SCSCI ou un CDROM qui est monté mais pas dans /home ajouter les lignes suivantes :
[cdrom] comment = Samba server's CD-ROM writable = no locking = no path = /cdrom public = yes
Tester le server samba
- Pour tester la validité du fichier de configuration :
testparm /etc/samba/smb.conf
- depuis une machine distante :
smbclient -L 192.168.0.16 -U gilles
password
- ou encore
nmblookup -B 192.168.0.16 __SAMBA__
- Sur le serveur si on a une machines window en 192.168.0.19 elle doit répondre à la commande :
nmblookup -B 192.168.0.109"*"
- depuis une machine distante :
smbclient //192.168.0.16/HOMES
doit marcher ..
Accès distant depuis un serveur distant
Méthode bas de gamme
smbclient //192.168.0.16/HOMES -U gilles
permet d'entrer après avoir donné le password
Konqueror
* Depuis KDE Kubuntu
Aller dans MENU/Paramètre système/Partage/Navigation dans le reseau local entrer le nom gilles et le mot de passe idoine
Vous pourrez ainsi dans konqueror entrer l'adresse smb://192.168.0.16 et naviguer
Montage
Il est possible de monter le répertoire distant après avoir installer le file systeme
apt-get install smbfs
et après avoir créé le répertoire :
mkdir /home/gilles/Desktop/Serveur
par
smbmount //192.168.0.16/HOMES /home/gilles/Desktop/Serveur/
Montage permanent au démarrage de la machine cliente
Cette méthode est ennuyeuse car si le serveur samba est arrêté les postes clients devront attendre un time out au démarrage.
Néanmoins dans le fichier /etc/fstab mettre :
//192.169.0.16/HOMES /home/gilles/Desktop/Serveur smbfs password=top_secret,username=zero 0 0
smb4k
Est la meilleure solution ; c'est un logiciel qui se controle le montage des liens SMB sous KDE comme un montage de clé USB , L'avantage c'est qu'il ne blogue pas votre machine au démarrage si le serveur distant est HS.
Quelques problèmes
Problème d'écriture
En cas de problème d'écriture distant, après avoir mis l'option debug à 3 dans le fichier log, si la ligne dfs_redirect: Path converted to non-dfs path apparaît, mettre dans le fichier smb.conf la ligne :
host msdfs = no
Caractères accentués
display charset= UTF-8
dos charset = 850
unix charset = UTF-8
Sur le client monter avec l'option iocharset=utf8
ou dans smb4k dans les settings/Samva onglet mount mettre client charset utf8
Astuces
Forcer un utilisateur et un groupe
repertoire
comment = identite directory
path = /var/www/serveur
user = gilles
browsable = yes
public = no
writable = yes
directory mask = 755
force user= www-data
force group=www-data