1.7. Configuration d'un partage de fichiers Samba utilisant des listes de contrôle POSIX


En tant que service Linux, Samba prend en charge les partages avec des ACL POSIX. Elles vous permettent de gérer les autorisations localement sur le serveur Samba à l'aide d'utilitaires tels que chmod. Si le partage est stocké sur un système de fichiers qui prend en charge les attributs étendus, vous pouvez définir des ACL avec plusieurs utilisateurs et groupes.

Note

Si vous devez utiliser des ACL Windows à granularité fine à la place, voir Configuration d'un partage utilisant des ACL Windows.

Certaines parties de cette section ont été reprises de la documentation Setting up a Share Using POSIX ACLs publiée dans le Samba Wiki. Licence : CC BY 4.0. Auteurs et contributeurs : Voir l'onglet historique de la page Wiki.

1.7.1. Ajout d'un partage utilisant des ACL POSIX

Cette section décrit comment créer un partage nommé example qui fournit le contenu du répertoire /srv/samba/example/ et utilise des ACL POSIX.

Conditions préalables

Samba a été configuré dans l'un des modes suivants :

Procédure

  1. Créez le dossier s'il n'existe pas. Par exemple :

    # mkdir -p /srv/samba/example/
  2. Si vous utilisez SELinux en mode enforcing, définissez le contexte samba_share_t pour le répertoire :

    # semanage fcontext -a -t samba_share_t "/srv/samba/example(/.*)?"
    # restorecon -Rv /srv/samba/example/
  3. Définir les ACL du système de fichiers sur le répertoire. Pour plus de détails, voir :

  4. Ajoutez l'exemple de partage au fichier /etc/samba/smb.conf. Par exemple, pour ajouter le partage en écriture :

    [example]
    	path = /srv/samba/example/
    	read only = no
    Note

    Indépendamment des ACL du système de fichiers, si vous ne définissez pas read only = no, Samba partage le répertoire en mode lecture seule.

  5. Vérifiez le fichier /etc/samba/smb.conf:

    # testparm
  6. Ouvrez les ports requis et rechargez la configuration du pare-feu à l'aide de l'utilitaire firewall-cmd:

    # firewall-cmd --permanent --add-service=samba
    # firewall-cmd --reload
  7. Redémarrez le service smb:

    # systemctl restart smb

1.7.2. Définition d'ACL Linux standard sur un partage Samba qui utilise des ACL POSIX

Les listes de contrôle d'accès standard de Linux permettent de définir des autorisations pour un propriétaire, un groupe et tous les autres utilisateurs non définis. Vous pouvez utiliser les utilitaires chown, chgrp, et chmod pour mettre à jour les ACL. Si vous avez besoin d'un contrôle précis, vous pouvez utiliser les ACL POSIX plus complexes, voir

Définition d'ACL étendues sur un partage Samba qui utilise des ACL POSIX.

La procédure suivante définit le propriétaire du répertoire /srv/samba/example/ comme étant l'utilisateur root, accorde les droits de lecture et d'écriture au groupe Domain Users et refuse l'accès à tous les autres utilisateurs.

Conditions préalables

  • Le partage Samba sur lequel vous souhaitez définir les ACL existe.

Procédure

# chown root:"Domain Users" /srv/samba/example/
# chmod 2770 /srv/samba/example/

Note

L'activation du bit set-group-ID (SGID) sur un répertoire définit automatiquement le groupe par défaut pour tous les nouveaux fichiers et sous-répertoires sur celui du groupe du répertoire, au lieu du comportement habituel qui consiste à le définir sur le groupe primaire de l'utilisateur qui a créé la nouvelle entrée du répertoire.

Ressources supplémentaires

  • chown(1) et chmod(1) pages de manuel

1.7.3. Définition d'ACL étendues sur un partage Samba qui utilise des ACL POSIX

Si le système de fichiers sur lequel le répertoire partagé est stocké prend en charge les ACL étendues, vous pouvez les utiliser pour définir des autorisations complexes. Les ACL étendues peuvent contenir des autorisations pour plusieurs utilisateurs et groupes.

Les ACL POSIX étendues vous permettent de configurer des ACL complexes avec plusieurs utilisateurs et groupes. Toutefois, vous ne pouvez définir que les autorisations suivantes :

  • Pas d'accès
  • Lire l'accès
  • Accès en écriture
  • Contrôle total

Si vous avez besoin d'autorisations Windows fines, telles que Create folder / append data, configurez le partage pour qu'il utilise les listes de contrôle d'accès Windows.

Voir Configuration d'un partage utilisant les ACL de Windows.

La procédure suivante montre comment activer les ACL étendues sur un partage. Elle contient également un exemple de configuration des ACL étendues.

Conditions préalables

  • Le partage Samba sur lequel vous souhaitez définir les ACL existe.

Procédure

  1. Activez le paramètre suivant dans la section du partage du fichier /etc/samba/smb.conf pour activer l'héritage des ACL étendues :

    hériter des acls = oui

    Pour plus de détails, voir la description des paramètres dans la page de manuel smb.conf(5).

  2. Redémarrez le service smb:

    # systemctl restart smb
  3. Définissez les ACL sur le répertoire. Par exemple :

    Exemple 1.2. Définition des ACL étendues

    La procédure suivante définit les autorisations de lecture, d'écriture et d'exécution pour le groupe Domain Admins, les autorisations de lecture et d'exécution pour le groupe Domain Users, et refuse l'accès à tous les autres utilisateurs du répertoire /srv/samba/example/:

    1. Désactiver l'attribution automatique des autorisations au groupe principal de comptes d'utilisateurs :

      # setfacl -m group::--- /srv/samba/example/
      # setfacl -m default:group::--- /srv/samba/example/

      Le groupe primaire du répertoire est également mappé au principal dynamique CREATOR GROUP. Lorsque vous utilisez des ACL POSIX étendues sur un partage Samba, ce principal est automatiquement ajouté et vous ne pouvez pas le supprimer.

    2. Définir les droits d'accès au répertoire :

      1. Accorder les droits de lecture, d'écriture et d'exécution au groupe Domain Admins:

        # setfacl -m group:"DOMAIN\Domain Admins":rwx /srv/samba/example/
      2. Accorder les droits de lecture et d'exécution au groupe Domain Users:

        # setfacl -m group:"DOMAIN\Domain Users":r-x /srv/samba/example/
      3. Définissez les autorisations pour l'entrée ACL other afin de refuser l'accès aux utilisateurs qui ne correspondent pas aux autres entrées ACL :

        # setfacl -R -m other::--- /srv/samba/example/

      Ces paramètres ne s'appliquent qu'à ce répertoire. Sous Windows, ces ACL sont associées au mode This folder only.

    3. Pour permettre aux nouveaux objets du système de fichiers créés dans ce répertoire d'hériter des autorisations définies à l'étape précédente :

      # setfacl -m default:group:"DOMAIN\Domain Admins":rwx /srv/samba/example/
      # setfacl -m default:group:"DOMAIN\Domain Users":r-x /srv/samba/example/
      # setfacl -m default:other::--- /srv/samba/example/

      Avec ces paramètres, le mode This folder only pour les mandants est maintenant réglé sur This folder, subfolders, and files.

    Samba associe les autorisations définies dans la procédure aux listes de contrôle d'accès de Windows suivantes :

    PrincipalAccèsS'applique à

    Domain\Administrateurs de domaine

    Contrôle total

    Ce dossier, ces sous-dossiers et ces fichiers

    Domain\Utilisateurs du domaine

    Lire & exécuter

    Ce dossier, ces sous-dossiers et ces fichiers

    Everyone [a]

    Aucun

    Ce dossier, ces sous-dossiers et ces fichiers

    owner (Unix User\owner) [b]

    Contrôle total

    Ce dossier ne contient que

    primary_group (Unix User\primary_group) [c]

    Aucun

    Ce dossier ne contient que

    CREATOR OWNER [d] [e]

    Contrôle total

    Sous-dossiers et fichiers uniquement

    CREATOR GROUP [e] [f]

    Aucun

    Sous-dossiers et fichiers uniquement

    [a] Samba mappe les permissions pour ce principal à partir de l'entrée ACL other.
    [b] Samba associe le propriétaire du répertoire à cette entrée.
    [c] Samba associe le groupe primaire du répertoire à cette entrée.
    [d] Sur les nouveaux objets du système de fichiers, le créateur hérite automatiquement des autorisations de ce principal.
    [e] La configuration ou la suppression de ces principaux des listes de contrôle d'accès n'est pas prise en charge sur les partages qui utilisent des listes de contrôle d'accès POSIX.
    [f] Pour les nouveaux objets du système de fichiers, le groupe principal du créateur hérite automatiquement des autorisations de ce principal.
Red Hat logoGithubRedditYoutubeTwitter

Apprendre

Essayez, achetez et vendez

Communautés

À propos de la documentation Red Hat

Nous aidons les utilisateurs de Red Hat à innover et à atteindre leurs objectifs grâce à nos produits et services avec un contenu auquel ils peuvent faire confiance.

Rendre l’open source plus inclusif

Red Hat s'engage à remplacer le langage problématique dans notre code, notre documentation et nos propriétés Web. Pour plus de détails, consultez leBlog Red Hat.

À propos de Red Hat

Nous proposons des solutions renforcées qui facilitent le travail des entreprises sur plusieurs plates-formes et environnements, du centre de données central à la périphérie du réseau.

© 2024 Red Hat, Inc.