Qu’est-ce que Samba
Pour assurer le partage des imprimantes et des fichiers, Microsoft Windows utilise une installation connue sous le nom de SMB (Server Message Block). Cette même installation est parfois connue sous le nom de NetBIOS ou LanManager. Grâce à Andrew Tridgell et à d’autres, les systèmes Linux fournissent un support pour SMB via un paquetage connu sous le nom de Samba. Comme SMB, Samba vous permet :
- Partager des imprimantes et des fichiers entre les systèmes Microsoft Windows, OS/2, Netware et Unix
- Établir un serveur de noms simple pour identifier les systèmes sur votre réseau local
- Sauvegarder les fichiers PC sur un système Linux et les restaurer
- Administrer les utilisateurs et les mots de passe
Samba a prouvé sa fiabilité et ses hautes performances dans de nombreuses organisations.La suite logicielle Samba sur Enterprise Linux est un ensemble de programmes qui mettent en œuvre le protocole Server Message Block (communément abrégé en SMB) pour les systèmes UNIX.
Installation de Samba
Dans le système Enterprise Linux, installez les paquets ci-dessous pour démarrer avec Samba. Vous pouvez télécharger/installer ces paquets depuis le serveur yum en utilisant la commande « yum install ».
samba #### basic Samba packagessamba-client #### samba client
Pour installer ces paquets :
# yum install samba# yum install samba-client
Si vous utilisez une configuration de répertoire actif, installez également les paquets ci-dessous.
# yum install samba-winbind# yum install samba-winbind-clients# yum install samba-winbind-krb5-locator
Vous trouverez ci-dessous la liste des paquets qui seront installés une fois que vous aurez installé les paquets ci-dessus.
samba-libssamba-winbind-krb5-locatorsamba-winbind-modulessamba-vfs-glusterfssamba-winbindsamba-clientsamba-commonsamba-winbind-clientssamba
Configuration d’un partage Samba
La configuration de Samba réside généralement dans /etc/samba/smb.conf qui contient tous les paramètres de configuration liés à samba. Suivez les étapes données ci-dessous pour configurer un partage samba.
1. Pour que le partage soit accessible à un utilisateur particulier, nous devons d’abord créer un utilisateur (john) sur le serveur linux où réside le partage également.
# useradd john
# passwd johnChanging password for user john.New password: Retype new password: passwd: all authentication tokens updated successfully.
2. Pour ajouter activer l’utilisateur Samba et définir le mot de passe, utilisez la commande « smbpasswd » avec l’option -a.
# smbpasswd -a john
3. Créez le répertoire à partager ou vous pouvez utiliser un répertoire existant. Définissez également les permissions complètes sur le répertoire.
# mkdir -p /path/to/share# chmod -R 777 /path/to/share
4. Ensuite, définissez les contextes SElinux sur le partage. Vérifiez si vous pouvez créer un fichier dans le partage.
# chcon -R -t samba_share_t /path/to/share# cd /path/to/share# echo test > testfile.txt
5. Modifiez le fichier /etc/samba/smb.conf et ajoutez les paramètres du partage.
# vi /etc/samba/smb.conf path = /path/to/share comment = samba share for john public = yes writable = yes create mask = 0777 browseable = yes
Redémarrez le service samba pour que les paramètres ci-dessus prennent effet.
# service smb restart
Dépannage
Pour découvrir le problème avec un partage samba, vous pouvez essayer de désactiver le service iptables et de désactiver le SELinux. Assurez-vous de les réactiver après avoir résolu le confilct.
# service iptables stop# setenforce 0
Vérifier le paramètre samba à l’aide de testparm
Pour vérifier que les paramètres sont corrects dans le fichier smb.conf ou pour déboguer les problèmes de configuration, utilisez la commande testparm.
logs
Pour déboguer les problèmes avec Samba en général, les fichiers journaux log.smbd et log.nmbd sous le répertoire /var/log/samba sont précieux. Le paramètre log level dans la section globale du fichier smb.conf détermine la quantité d’informations détaillées que Samba écrit dans les fichiers journaux, le niveau 0 étant le plus général et 10 le plus détaillé. Chaque niveau de journalisation contient les messages de ce niveau, en plus des messages de journalisation qui lui sont inférieurs. Par exemple, un niveau de journalisation de 5 contient les messages du niveau 5, plus ceux des niveaux 0 à 4.
# vi /etc/samba/smb.conf# this tells Samba to use a separate log file for each machine# that connectslog file = /var/log/samba/%m.logdebuglevel = 4
.