La configuration d'un serveur samba en version 4 reste proche de celle en version 3.
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/
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
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
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
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
Le port TCP 445 (désigné microsoft-ds1) ) est donc suffisant si l'on souhaite faire des montages de lecteurs sans utilisation de NetBIOS.