Table des matières
Créer des partages réseau sur un serveur autonome
Déjà petite explication par ce que j'entends par autonome. Pour moi autonome veut dire sans authentification centralisé par un AD.
Cependant, il sera possible de mettre en place des ACL basé sur les groupes ou les noms d'utilisateurs.
Il faut commencer par installer tout les packets nécessaires :
Installation et configuration :
# apt install samba acl xattr
Ensuite il vous faudra remplacer le contenu du fichier /etc/samba/smb.conf par celui ci:
- smb.conf
[global] admin users = sambaadmin server string = Serveur de fichiers workgroup = WORKGROUP log file = /var/log/samba/log.%m max log size = 1000 syslog = 0 panic action = /usr/share/samba/panic-action %d map to guest = Bad User obey pam restrictions = Yes pam password change = Yes passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* . passwd program = /usr/bin/passwd %u server role = standalone server unix password sync = Yes dns proxy = No idmap config * : backend = tdb store dos attributes = Yes map acl inherit = Yes vfs objects = acl_xattr [Mon partage] path = /mnt/data/Mon partage read only = No
Pour créer des partages multiples, il vous faudra simplement copier/coller la section “Mon partage” et de l'ajuster.
Il vous faudra définir un mot de passe au compte “sambaadmin” :
# smbpasswd -a sambaadmin
puis on va redémarrer les services samba :
# systemctl restart smbd nmbd
Création des groupes et des utilisateurs :
Créer un groupe
Alors il vous faudra simplement ajouter cette ligne au fichier /etc/group :
groupe1:x:10000:utilisateur1,utilisateur2
qu'il faudra ajuster :
- groupe1 –> nom du groupe
- x –> information lié au mot de passe, a ne pas modifier dans notre cas
- 10000 –> gid, unique pour chaque groupe/utilisateur
- utilisateur1,utilisateur2 –> utilisateurs présent dans le groupe
Puis il faudra l'ajouter a samba :
net groupmap add rid=10000 ntgroup="groupe1" unixgroup=groupe1 type=d
Créer un utilisateur
Alors il vous faudra simplement ajouter cette ligne au fichier /etc/passwd :
utilisateur1:x:20000:65534:Prénom NOM,Adresse,Num de tel,adresse mail:/dev/null:/bin/false
qu'il faudra ajuster :
- utilisateur1 –> nom d'utilisateur
- x –> information lié au mot de passe, a ne pas modifier dans notre cas
- 20000 –> uid, unique pour chaque groupe/utilisateur
- 65534 –> gid, groupe principal de l'utilisateur, là définit par le celui “nobody”, peut réster comme ça
- Prénom NOM,Adresse,Num de tel,adresse mail –> Information administrative, pas obligatoire.
- /dev/null –> répertoire personnel de l'utilisateur, définit sur /dev/null par sécurité
- /bin/false –> Shell par défaut, définit sur /dev/fasle par sécurité
Puis il faudra l'ajouter a samba via :
# smbpasswd -a utilisateur1
Définition des ACL
Seul les utilisateurs (ou groupe) ayant la permission SeDiskOperatorPrivilege ont le droit de changer les permissions sur les partages réseaux. Par défaut, seul les administrateurs samba ont le droit de les modifier.
Pour ajouter cette permission à un groupe ou un utilisateur, il vous faut taper (en ayant le mot de passe du compte sambaadmin :
net rpc rights grant "groupe1" SeDiskOperatorPrivilege -U sambaadmin
Puis vous pourrez modifier vos ACL. Pour cela je vous renvoie vers la page de documentation officiel de SAMBA (en Anglais)
Ajout de la corbeille réseau
Pour cela il vous faudra ajouter ceci dans la section du partage dans le fichier /etc/samba/smb.conf :
vfs objects = recycle,acl_xattr recycle:excludedir = /recycle,/tmp,/temp,/TMP,/TEMP recycle:exclude = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP recycle:noversions = *.tmp,*.temp,*.o,*.obj,*.TMP,*.TEMP recycle:versions = No recycle:keeptree = Yes recycle:touch = Yes recycle:repository = /mnt/data/%S/Corbeille
et chaque fichiers supprimés seront placer dans le dossier Corbeille a la racine dans le dossier /mnt/data/%S/Corbeille (%S représente le nom du partage)