Samba
Samba est une implémentation du protocole SMB/CIFS, il facilite le partage entre les systèmes Linux/Unix et Windows. Samba se configure très facilement et s'utilise de manière simple.
Sommaire
Installation
Vous pouvez installer seulement le client smbclient pour vous connecter aux serveurs, mais vous ne pourrez pas en créer un :
pacman -S smbclient
Si vous souhaitez créer un serveur, il faut installer samba :
pacman -S samba
Configuration
smb.conf
Le fichier /etc/samba/smb.conf doit être crée pour lancer le serveur Samba. Une fois crée, les administrateurs peuvent préférer une interface web pour configurer le serveur.
cp /etc/samba/smb.conf.default /etc/samba/smb.conf
Ensuite, vous pourrez ouvrir le fichier /etc/samba/smb.conf avec votre éditeur favori ou regarder quelques lignes plus loin pour utiliser SWAT.
smbpasswd -a utilisateur
SWAT
SWAT (Samba Web Administration Tool) fait partie de la suite Samba. Pour lancer SWAT, il faut utiliser le service eXtended InterNET Daemon, xinetd.
Pour utiliser SWAT, il faut d'abord installer xinetd :
pacman -S xinetd
Editez le fichier /etc/xinetd.d/swat avec votre éditeur de texte favori. Pour activer SWAT, changez la ligne disable = yes en disable = no :
service swat { socket_type = stream wait = no user = root server = /usr/sbin/swat log_on_success += HOST DURATION log_on_failure += HOST disable = no }
Ensuite, vous pouvez lancer xinetd :
systemctl start xinetd
L'interface web est accessible à l'adresse :
http://localhost:901/
Lancement
Lancez le service samba.
systemctl start smbd
Vous pouvez l'activer pour un démarrage automatique :
systemctl enable smbd
Accéder aux partages Samba
Les dossiers partagés sont accessibles de plusieurs façons différentes, graphique ou en ligne de commande.
smbclient
Samba fournit le client smbclient qui agit tel un client ftp pour les partages samba:
Pour lister les partages d'un serveur:
smbclient -L serveur [-U utilisateur[%mot_de_passe]]
Pour interagir avec un partage tel un serveur ftp:
smbclient //serveur/partage [-U utilisateur[%mot_de_passe]]
cifs-utils
cifs-utils permet de monter un partage avec mount:
mount -t cifs //serveur/partage point_de_montage -o user=utilisateur,sec=ntlm,password=mot_de_passe
Pour les montages cifs à partir du kernel 3.8 , il faut rajouter sec=ntlm,soit sécurité=ntlm
gvfs
gvfs dispose d'un backend nommé gvfs-smb permettant de monter un partage samba.
gvfs est notamment (ou peut être) utilisé par nautilus (GNOME), thunar (XFCE) ou pcmanfm.
Il permet aussi de l'utiliser en ligne de commande grâce à gvfs-mount.
Pour accéder à un partage depuis un gestionnaire de fichier compatible gvfs:
smb://serveur/partage
En ligne de commande:
gvfs-mount smb://serveur/partage cd /run/user/$USER/"smb-share:server=serveur,share=partage"
gvfs-mount -u smb://serveur/partage
fuse
smbnetfs
smbnetfs permet de parcourir les partages disponibles sur le réseau:
pacman -S smbnetfs
Ajoutez la ligne suivante dans /etc/fuse.conf :
user_allow_other
Lancez le démon smbnetfs :
systemctl start smbnetfs
Tous les partages du réseau sont immédiatement montés dans /mnt/smbnet.
usmb
usmb permet de monter les partages sans avoir besoin des droits root.
Il vous faut créer un fichier de configuration:
<?xml version="1.0" encoding="ISO-8859-1"?> <usmbconfig> <credentials id="cred1"> <domain>domaine</domain> <username>utilsateur</username> <password>mot_de_passe</password> </credentials> <mount id="partage1" credentials="cred1"> <server>serveur</server> <share>partage</share> <mountpoint>repertoire_partage</mountpoint> </mount> </usmbconfig>
Pour monter:
usmb partage1
Démonter:
usmb -u partage1
Exemple de configuration
Partage sans utilisateur/mot de passe
Compte invité pour tous
[global] #... security = share #...
Compte invité pour tout utilisateur inconnu
[global] #... map to guest = Bad User # ... security = user
Configuration simple
[global] workgroup = WORKGROUP server string = Samba Server netbios name = PC_NAME security = share guest account = utilisateur username map = /etc/samba/smbusers name resolve order = hosts wins bcast wins support = no [public] comment = Partage publique path = chemin_vers_le_partage available = yes browsable = yes public = yes writable = no