Samba (-lé-lé)

Version installée


$ net -V ou $ net –version

Aide


# samba help # samba –help Usage: /usr/sbin/samba {start|stop|restart|status|condrestart}

Voisinage réseau

$ findsmb # findsmb

smb4k LinNeighborhood Sous konqueror : smb:/

	 lan:/

(Nb : sous MDV 2007 findsmb s'appelle mainteantn findsmb3 $ findsmb3 sh: /usr/bin/nmblookup: No such file or directory ⇒ petit bug facile à corriger : $ sudo ln /usr/bin/nmblookup3 /usr/bin/nmblookup)

$ smb4K (Samba browser pour KDE) Idem ci-dessus : dans MDV 2007 : “the following programs missing on your system: smbclient, smbspool” Même correction : $ sudo ln /usr/bin/smbclient3 /usr/bin/smbclient $ sudo ln /usr/bin/smbspool3 /usr/bin/smbspool

$ LinNeighborhood

Sous konqueror : smb:/ Sous konqueror : lan:/ (les “Workgroups” ne sont pas affichés)

- Tester l'état du service samba


# service smb status smbd (pid 2114) is running… nmbd (pid 2124) is running…

ou bien

# samba status smbd (pid 7403 7393) est en cours d'exéution… nmbd (pid 7407) est en cours d'exécution…

- Démarrer, redémarrer


start, restart # service smb restart Shutting down SMB services: [ OK ] Shutting down NMB services: [ OK ] Starting SMB services: [ OK ] Starting NMB services: [ OK ]

ou bien # samba start

Se connecter à une disque Windows externe


$ smbclient pc/partage smb: \> $ smbclient pc/partage -U <login_sur_le_pc> smb: \>

Monter un disque Windows externe


“toto” est l'utilisateur Windows :

En simple utilisateur : $ smbmount nom-machine_ou-N°IP/nom_partage /mnt/disk $ smbmount nom-machine_ou-N°IP/nom_partage /mnt/disk -o username=toto

En root avec la commande mount : # mount -t smbfs nom-machine_ou-N°IP/nom_partage /mnt/disk # mount -t smbfs -o username=toto nom-machine_ou-N°IP/nom_partage /mnt/disk (sous MDV 2007 : # mount -t cifs -o username=toto nom-machine_ou-N°IP/nom_partage /mnt/disk) Pour autoriser l'utilisateur (linux) “bibi” à accéder au montage : # mount -t smbfs -o username=toto,users,uid=bibi nom-machine_ou-N°IP/nom_partage /mnt/disk

ou si on préfère, dans fstab (ici avec le mot de passe en clair, beurk !) : nom_machine/nom_partage /point/de/montage smbfs username=toto,password=le_mot_de_passe ou encore avec login et mot de passe dans un fichier accessible uniquement par root et contenant : username = toto password = le_mot_de_passe # mount -t smbfs -o credentials=/le/nom/de/ce/fichier nom-machine_ou-N°IP/nom_partage /mnt/disk

idem pour fstab : nom_machine/nom_partage /point/de/montage smbfs -o credentials=/le/nom/de/ce/fichier - Partager un répertoire (c.a.d. pouvoir accéder, à partir d'un PC Windows, à un répertoire résidant le PC linux ) ——————————————————————————————————- Editer le fichier de configuration /etc/samba/smb.conf et ajouter le répertoire à partager selon les exemples donnés dans ce fichier (voir à la fin du fichier). Vérifier éventuellement s'il n'y a pas d'erreur dans le fichier smb.conf : # testparm Relancer samba pour prendre en compte les modifications # samba restart ou encore : # service smb restart Samba n'utilise pas les mots de passe du système. Il a son propre fichier de mots de passe (/etc/samba/smbpasswd) Entrer le nom d'utilisateur et son mot de passe (sera mémorisé crypté dans /etc/samba/smbpasswd) # smbpasswd -a NomUtilisateur et répondre aux questions (c'est à dire entrer 2 fois le mot de passe) Voir quels sont les utilisateurs pourvus d'un mot de passe : # cat /etc/samba/smbpasswd Vérifier que le fichier de mots de passe est bien en lecture/écriture _uniquement_ pour root : $ ls -al /etc/samba/smbpasswd -rw——- 1 root root 102 Jan 3 1996 /etc/samba/smbpasswd Si ce n'etait pas le cas, mettre les droits corrects : # chmod 600 /etc/samba/smbpasswd Il est inutile de relancer samba pour que les nouveaux mots de passe soient pris en compte. Se connecter à partir du PC windows. Erreur “incorrect password or unknown username” ⇒ vérifier que le mot de passe des utilisateurs potentiels a été entré, cf. smbpasswd ci-dessus. Sous W$ : “Attempt to connect to \\serveur_linux\Repertoire_partagé” “The network path \\serveur_linux\Repertoire_partagé could not be found” ⇒ vérifier que le firewall ne bloque pas la connexion. Par exemple, avec shorewall, rajouter dans /etc/shorewall/rules AllowSMB net fw et redémarrer shorewall (sudo shorewall restart) Le partage peut également être fait à partir de konqueror : pointer le fichier, click droit, propriétés, partage ; mais c'est finalement plus compliqué et moins précis dans les permissions que d'éditer le fichier smb.conf. Problème de différence de jeux de caractères entre Linux et Windows ——————————————————————- Peut se régler dans /etc/samba/smb.conf Voir paragraphe “File Naming Options:” et “Enabling internationalization:” Exemple : dos charset = 1252 case sensitive = Yes unix charset = ISO8859-15 (à adapter suivant les systèmes utilisés) Documentation :http://us1.samba.org/samba/docs/man/Samba-HOWTO-Collection/unicode.html