Qu'est-ce que Samba
Pour fournir le partage d'imprimantes et de fichiers, Microsoft Windows utilise une fonctionnalité 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 prennent en charge SMB via un package appelé 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 du 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 une collection de programmes qui implémente le protocole Server Message Block (généralement abrégé en SMB) pour les systèmes UNIX.
Installer Samba
Dans le système Enterprise Linux, installez les packages ci-dessous pour démarrer avec Samba. Vous pouvez télécharger/installer ces packages à partir du serveur yum à l'aide de la commande "yum install".
samba #### basic Samba packages samba-client #### samba client
Pour installer ces packages :
# yum install samba # yum install samba-client
Si vous utilisez une configuration Active Directory, installez également les packages ci-dessous.
# yum install samba-winbind # yum install samba-winbind-clients # yum install samba-winbind-krb5-locator
Vous trouverez ci-dessous la liste des packages qui seront installés une fois que vous aurez installé les packages ci-dessus.
samba-libs samba-winbind-krb5-locator samba-winbind-modules samba-vfs-glusterfs samba-winbind samba-client samba-common samba-winbind-clients samba
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 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 également le partage.
# useradd john
# passwd john Changing 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 le -a option.
# smbpasswd -a john
3. Créez le répertoire à partager ou vous pouvez utiliser un répertoire existant. Définissez également des autorisations 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 de partage.
# vi /etc/samba/smb.conf [share_name] 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 SELinux. Assurez-vous de les réactiver après avoir résolu le conflit.
# 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 des problèmes de configuration, utilisez la commande testparm.
journaux
Pour les problèmes de débogage avec Samba en général, les fichiers journaux log.smbd et log.nmbd sous /var/log/samba répertoire sont inestimables. 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 situés en dessous. 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 connects log file = /var/log/samba/%m.log debuglevel = 4