Préparation
sudo apt install samba smbclientInstallersudo groupadd partageCréer le groupesudo usermod -aG partage jediAjouter l’utilisateursudo mkdir -p /srv/partageCréer le dossiersudo chown root:partage /srv/partageAffecter le groupesudo chmod 2770 /srv/partageDroits + SGIDsudo smbpasswd -a jediCréer le compte SambaDirectives principales de smb.conf
| Directive | Rôle | Exemple |
|---|---|---|
path | Chemin réel du dossier partagé sur le serveur. | path = /srv/partage |
browseable | Affiche ou masque le partage dans la découverte réseau. Le partage reste accessible par son chemin si l'utilisateur le connaît. | browseable = yes |
read only | Interdit ou autorise l'écriture. read only = no autorise l'écriture si les droits Linux le permettent. | read only = no |
valid users | Liste les utilisateurs ou groupes autorisés. Le symbole @ désigne un groupe. | valid users = @partage |
invalid users | Interdit explicitement un utilisateur ou un groupe, même s'il serait autorisé autrement. | invalid users = stagiaire |
force group | Force les nouveaux fichiers à utiliser un groupe donné. | force group = partage |
create mask | Droits maximaux des nouveaux fichiers. | create mask = 0660 |
directory mask | Droits maximaux des nouveaux dossiers. | directory mask = 2770 |
guest ok | Autorise l'accès sans compte. À éviter pour un partage métier. | guest ok = no |
Exemple de partage géré par groupe
[Commun]
path = /srv/partage
browseable = yes
read only = no
guest ok = no
valid users = @partage
force group = partage
create mask = 0660
directory mask = 2770
La bonne pratique est de gérer l'accès avec des groupes : on ajoute ou retire l'utilisateur du groupe sans modifier smb.conf.
Interdire exceptionnellement un utilisateur
# Une ligne commençant par # est un commentaire et n'est pas appliquée.
# invalid users = utilisateur_test
# Ligne active : l'utilisateur est explicitement interdit.
invalid users = utilisateur_test
Tu as raison : une liste d'utilisateurs individuels devient vite ingérable.
invalid users est utile pour une exception temporaire, mais la gestion normale doit se faire par groupes Linux, groupes Samba ou groupes Active Directory.Ordre réel des permissions
- Samba vérifie
valid usersetinvalid users. - Le système Linux vérifie propriétaire, groupe, permissions et éventuellement ACL.
- Pour écrire, l'utilisateur doit être autorisé par Samba et par les droits du système de fichiers.
smb.conf
[Partage]
path = /srv/partage
browseable = yes
read only = no
valid users = @partage
force group = partage
create mask = 0660
directory mask = 2770Vérifier
testparmTester smb.confsudo systemctl restart smbdRedémarrersmbclient -L localhost -U jediLister les partages🚨 Réflexe TSSR
- testparm
- systemctl status smbd
- smbclient -L localhost -U utilisateur
- ls -ld /srv/partage
- id utilisateur
- getfacl /srv/partage
💡 À retenir
Les droits Samba et les droits Linux doivent tous les deux autoriser l’accès.
⚠ Pièges fréquents
Ajouter l’utilisateur au groupe mais oublier de se déconnecter puis se reconnecter.
✔ Vérification
testparmCommande de vérificationsystemctl is-active smbdCommande de vérificationsmbclient -L localhost -U utilisateurCommande de vérificationls -ld /srv/partageCommande de vérification🎯 Ce que le jury attend
- Créer le groupe
- Configurer les droits
- Créer le compte Samba
- Tester smb.conf
- Tester le partage