====== Partage de fichiers sous Linux avec SAMBA ====== ===== Installer le serveur Samba ===== sudo yum install samba ===== Paramétrer ===== Samba utilise la configuration présente dans le fichier ''/etc/samba.smb.conf''. A chaque modification il sera nécessaire de redémarrer le service Samba pour que les modifications soient prises en compte : sudo service smb restart ==== Configuration générale ==== Ci-dessous, un exemple de configuration de paramétrage du service, de manière globale. [global] workgroup = workgroup netbios name = srv05 server string = serveur $h (Samba %v, Fedora) log file = /var/log/samba/log.%m max log size = 50 hide files = /lost+found/ dns proxy = no security = USER L'option ''security = USER'' impose deux choses que nous allons traiter ci-dessous : - avoir un compte Linux - avoir un compte Samba Les utilisateurs des dossiers partagés auront un groupe commun : ''sambausers'' __Créer un groupe__ Dans cet exemple, je créé un groupe nommé ''sambausers''. sudo groupadd sambausers __Créer un compte Linux__ On peut créer un compte utilisateur qui n'a pas besoin ni de se connecter à un shell, ni avoir un dossier de travail personnel. Prenons l'exemple de ''fanny'' : sudo useradd --s /bin/false -d /dev/null -g sambausers fanny On remarquera que le shell se nomme ''/bin/false'' et le dossier personnel pointe vers ''dev/null''. __Ajouter un utilisateur à un groupe__ Si l'utilisateur ''Jean'' a déjà un compte Linux, on pourra lui ajouter le groupe ''sambausers'' grâce à la commande ''usermod''. sudo usermod -aG sambausers jean __Création d'un utilisateur Samba__ Avec l'option ''USER'', les utilisateurs Linux doivent avoir un compte Samba. On utilise la commande ''pdbedit''. sudo pdbedit -a jean On peut également utiliser la commande ''smbpasswd'' pour gérer uniquement les mots de passe. Par exemple : sudo smbpasswd -a jean sudo smbpasswd -e jean ==== Configuration spécifique : partage de dossier ==== Pour créer un dossier partagé sous Linux, il faut ajouter une section dans le fichier ''/etc/samba/smb.conf''. [media] browsable = yes comment = Disques DATA partages path = /media writable = yes create mask = 0765 hosts allow = 127.0.0.1 192.168.100.0/24 valid users = @sambausers Dans cet exemple : | [media] | Le partage va s'appeler **media** | | comment = Disques DATA partages| Permet d'afficher des commentaires \\ {{informatique:cfp:installer_un_serveur_de_partage_de_fichiers:samba_apercu_windows.png?nolink|}} | | path = /media | Chemin d'accès au dossier sur le serveur Linux | | writable = yes | | | create mask = 0765 | | | hosts allow = 127.0.0.1 192.168.100.0/24 | | | valid users = @sambausers | Tous les utilisateurs ayant le groupe ''sambausers'' pourront utiliser cette ressource. | ===== Appliquer les modifications de configuration ===== A chaque modification de la configuration SAMBA, par le fichier ''/etc/samba/smb.conf'', il faut tester le configuration et appliquer les changements au service. testparm -s sudo service smb restart ===== Modifier le parfeu ===== Ne pas oublier de modifier le parfeu afin qu'il accepte les connexions entrantes pour le service Samba : 139, 445, 137 et 138. Radicalement, on peut également désactiver le parfeu : sudo systemctl stop firewalld.service ===== Automatiser le démarrage du service Samba ===== Il faut automatiser le démarrage du service Samba au démarrage de l'ordinateur. Utiliser le Service Configuration (system-config-services). ===== Samba Client - l'utilitaire client===== __Lister les ressources disponibles__ smbclient -L //localhost -U fanny __Se connecter à une ressource__ smbclient //localhost/media -U fanny