On crée les différents utilisateurs Samba et les éventuels groupe de partage où l'on veut réunir certains utilisateurs comme indiqué dans le post précédent.

On crée les différents dossiers à partager et on leur donne les droits 750 ou 755 (accès aux autres mais pas ce n'est pas recommandé) :

chmod -R 750 /path/nomdossier

Pour les dossiers partagés en groupe de partage on leur affecte comme groupe celui du groupe de partage et on mets les utilisateurs concernés dans le groupe de partage. Ce mode de fonctionnement du partage et des permissions peut être amélioré en utilisant la possibilité qu'offre Linux d'utiliser le bit "s" sur le groupe avec le setgid.

Ensuite on édite le fichier /etc/samba/smb.conf et l'on modifie les sections correspondant aux différents dossiers à partager en définissant le(s) utilisateur(s) autorisé(s) et en donnant les droits lecture et écriture :

Pour un dossier réservé à un seul utilisateur

[partage1nom]
path = /path/partage1nom
available = yes
browseable = yes
public = no
writable = yes
valid users = nom
create mask = 0640
directory mask = 0750
comment = Réservé à nom

Pour un dossier réservé à plusieurs utilisateurs

[partage2nom]
path = /path/partage2nom
available = yes
browseable = yes
public = no
writable = yes
valid users = nom1 nom2 nom3
create mask = 0640
directory mask = 0750
comment = Réservé à nom1, nom2, nom3

Pour un dossier réservé à un groupe d'utilisateurs

[partage3nom]
path = /path/partage3nom
available = yes
browseable = yes
public = no
writable = yes
valid users = +groupepartage
create mask = 0640
directory mask = 0750
comment = Dossier du groupe groupepartage

Pour voir les homes des différents utilisateurs (pour écrire modifier l'option writable en yes et fixer les mask comme précédemment). (Détails ici)

[homes]
comment = Home de %U
browseable = no
valid users = %S
writable = no

Pour avoir un dossier partagé "pub" à accès public il faut rajouter dans la section [global] les deux lignes:

map to guest = bad user
guest account = nobody

et ensuite créer un dossier "pub" avec un chmod de 755 et avec les options du smb.conf ci-dessous:

[pub]
path = /path/pub
browseable = yes
public = yes
guest ok =yes
read only = yes

Il y a un problème avec un serveur public quand la connexion est faite par un invité (guest) : Tous les fichiers créés par ce guest lui appartiennent et ne peuvent être modifiés que par lui. Le nom de guest est défini par l'option guest account = xxxxx

Le guest account étant par défaut nobody les fichiers appartiendront donc à nobody. Seul root pourra changer le propriétaire.

Faire un serveur public n'est pas conseillé de toute façon...

La suite pour optimiser

Le tutorial au format pdf