Bonjour,
je cherche de l'aide et des avis sur un serveur Samba sous Debian 11 que j'ai monté.
Je suis parvenu à faire ce que je voulais mais j'ai des doutes sur le fait que cela soit la solution la plus simple mais également sur l'aspect sécurité des accès via Samba mais aussi via Linux. J'aimerais aussi être sur de comprendre ce que j'ai fait. Par ailleurs il reste quelques soucis que je n'ai pas réussi à régler.

J'ai un répertoire partagé /mnt/raid5/share/archives.

J'ai besoin, via Samba, et sur des postes Windows, que :
- des administrateurs aient un accès total au répertoire
- des utilisateurs n'y aient accès qu'en lecture seule
- qu'il n'y ait aucun accès non authentifié, même en lecture

Je ne maîtrise pas la gestion des permissions sous Linux et sous Samba.

Premièrement, je n'ai pas réussi à répondre aux besoins sans passer par les ACL.
Voici la configuration à la quelle je suis arrivée pour répondre aux besoins.
J'ai deux groupes dédiés :

Voici les permissions sur "/mnt/raid5/share/archives" :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
drwxrws---+ 4 arch-serv smb-admins 4,0K 19 oct.  10:21 archives
Ce qui de ce que j'ai compris donnera le contrôle total à "arch-serv" et aux "smb-admins".
Par ailleurs le "s" forcera le groupe "smb-admins" en tant que groupe de tout fichier et répertoire créé dans "/mnt/raid5/share/archives", c'est bien cela ?

Afin de limiter l'accès aux "smb-users" et de transmettre les permissions à la création de répertoires et fichiers j'ai défini les ACL suivantes :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
getfacl /mnt/raid5/share/archives/
 
getfacl*: suppression du premier «*/*» des noms de chemins absolus
# file: mnt/raid5/share/archives/
# owner: arch-serv
# group: smb-admins
# flags: -s-
user::rwx
group::rwx
group:smb-users:r-x
mask::rwx
other::---
default:user::rwx
default:group::rwx
default:group:smb-users:r-x
default:mask::rwx
default:other::---

Et dans la smb.conf j'ai ceci :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
 
[archives]
path = /mnt/raid5/share/archives
read only = no
browseable = yes
guest ok = no
public = no
create mask = 0660
directory mask = 0770
valid users = @elliadd-smb-admins, @elliadd-smb-users
Au final, cela semble fonctionner.
Mais j'aurais quelques questions que je mets un peu en vrac ici. Un grand merci par avance pour toute information ou avis.

1) Savez-vous s'il est possible d'avoir le même comportement au niveau de Samba sans ACL ?
Si oui, finalement n'est-ce pas mieux de passer quand même par les ACL plutôt qu'uniquement par la config Samba ? (ex. au moins on est sûr qu'un utilisateur Linux ou un autre service n'aura pas accès aux répertoires/fichiers.)

2) Est-ce que la configuration semble bien restreindre les accès admins et users et semble OK par rapport aux besoins ?

3) Par ailleurs, je n'arrive pas à gérer le lock sur des txt ou png par exemple. Si deux admins éditent un txt ou un png, ils y ont accès en écriture en même temps. Cela fonctionne pour les odt, docx, etc. mais sans doute à cause du mécanisme built-in des formats/logiciels. N'y a t-il pas une configuration Samba qui simule le même comportement que quand un utilisateur n'a pas accès en écriture au fichier ? J'ai essayé beaucoup de choses au niveau des paramètres de lock, etc. mais n'y suis pas arrivé. Quand un admin ouvre un txt, smbstatus me montre que le fichier passe en DENY_ALL + LEASE (RWH) mais un autre admin peut tout de même l'ouvrir en écriture et écraser les modifications.