{{tag>sysadmin linux samba partage cifs}} ====== Configuration de Samba 4 ====== La configuration d'un serveur samba en version 4 reste proche de celle en version 3. ===== Directives globales ===== Masquer certains dossiers et fichiers pour tous les partages déclarés, le séparateur est le caractère **'/'**: hide files = /lost+found/.Trash*/*.bak/ ==== Restriction d’accès aux services ==== Il est possible de limiter les services samba a certains clients # Personne n’accède au serveur SAMBA hosts deny = all # Sauf les clients explicitement autorisés ici hosts allow = 192.168.0.1 tester les modifications apportées $ sudo testparm ===== Utilisateurs ===== Créer le groupe **sambausers** s'il est inexistant: $ sudo addgroup sambausers Pour des utilisateurs n'utilisant pas le système local, créer des comptes POSIX sans shell ni répertoire home: $ sudo useradd -s /bin/false -d /dev/null professeur Définir le compte/mot de passe dans le backend d'authentification du serveur Samba via l'outil **pdbedit**: $ sudo pdbedit -a professeur ===== Droits d’accès aux fichiers ===== Pour pouvoir créer des fichiers/dossiers l'utilisateur doit être autorisé à le faire sur le système **et** le fichier smb.conf doit l'autoriser. Pour définir quels utilisateurs peuvent accéder au partage: valid user = user1, user2, @group1, @group2 Sur un partage, le droit d’accès par défaut est lecture seule pour tous. Pour plus de clarté, la directive peut être explicite: read only = Yes Pour activer le mode lecture/écriture sur un partage la directive **read only** par défaut doit être redéfinie: read only = No Hériter les permission du répertoire parent: inherit permissions = yes ===== Iptables ===== La diffusion des noms NETBios se fait via le protocole UDP et le port 137 iptables -A INPUT -i lan -p tcp -s 192.168.0.0/24 -d 192.168.0.254 --dport 445 -j ACCEPT # Activer la résolution NETBIOS iptables -A INPUT -i lan -p udp -s 192.168.0.0/24 -d 192.168.0.254 --dport 137 -j ACCEPT iptables -A INPUT -i lan -p udp -s 192.168.0.0/24 -d 192.168.0.255 --dport 138 -j ACCEPT iptables -A OUTPUT -o lan -p tcp -s 192.168.0.254 -d 192.168.0.0/24 --sport 139 -j ACCEPT Les ports 137 et 138 en UDP et le port 139 en TCP permettent d'utiliser le service de résolution de noms NetBIOS. Sans le service NetBIOS, le montage de lecteur réseau reste possible via l'IP. Le port TCP 445 (désigné **microsoft-ds**((**Microsoft** **D**irectory **S**ervice)) ) est donc suffisant si l'on souhaite faire des montages de lecteurs sans utilisation de NetBIOS. ===== Références ===== * https://doc.ubuntu-fr.org/samba#ports_lies_au_partage_de_fichiers_par_les_protocoles_smb_et_cifs * https://doc.ubuntu-fr.org/samba_smb.conf * http://www.bodenzord.com/archives/53 * https://www.samba.org/~tpot/articles/firewall.html * https://bbs.archlinux.org/viewtopic.php?id=170243 * https://serverfault.com/questions/401262/samba-deny-host-not-blocking-that-host#401316 * https://www.oreilly.com/openbook/samba/book/ch04_07.html * http://forums.justlinux.com/showthread.php?93519-What-is-the-Microsoft-ds-service