Rechercher

1.11. Permettre aux utilisateurs de partager des répertoires sur un serveur Samba

download PDF

Sur un serveur Samba, vous pouvez configurer les utilisateurs pour qu'ils puissent partager des répertoires sans avoir les droits d'accès à la racine.

1.11.1. Activation de la fonction de partage des utilisateurs

Avant que les utilisateurs puissent partager des répertoires, l'administrateur doit activer les partages d'utilisateurs dans Samba.

Par exemple, pour permettre aux seuls membres du groupe local example de créer des partages d'utilisateurs.

Procédure

  1. Créer le groupe local example, s'il n'existe pas :

    # groupadd example
  2. Préparez le répertoire dans lequel Samba stockera les définitions de partage des utilisateurs et définissez correctement ses permissions. Par exemple :

    1. Create the directory:

      # mkdir -p /var/lib/samba/usershares/
    2. Définir les droits d'écriture pour le groupe example:

      # chgrp example /var/lib/samba/usershares/
      # chmod 1770 /var/lib/samba/usershares/
    3. Activez le bit collant pour empêcher les utilisateurs de renommer ou de supprimer des fichiers stockés par d'autres utilisateurs dans ce répertoire.
  3. Modifiez le fichier /etc/samba/smb.conf et ajoutez ce qui suit à la section [global]:

    1. Définissez le chemin d'accès au répertoire que vous avez configuré pour stocker les définitions des partages d'utilisateurs. Par exemple :

      usershare path = /var/lib/samba/usershares/
    2. Définir le nombre de partages d'utilisateurs que Samba autorise à créer sur ce serveur. Par exemple :

      usershare max shares = 100

      Si vous utilisez la valeur par défaut de 0 pour le paramètre usershare max shares, les partages d'utilisateurs sont désactivés.

    3. En option, définissez une liste de chemins d'accès absolus aux répertoires. Par exemple, pour configurer que Samba n'autorise que le partage des sous-répertoires des répertoires /data et /srv à partager, définissez :

      usershare prefix allow list = /data /srv

    Pour une liste d'autres paramètres liés au partage d'utilisateurs que vous pouvez définir, voir la section USERSHARES dans la page de manuel smb.conf(5).

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

    # testparm
  5. Recharger la configuration de Samba :

    # smbcontrol all reload-config

    Les utilisateurs peuvent désormais créer des partages d'utilisateurs.

1.11.2. Ajout d'un partage d'utilisateur

Après avoir activé la fonction de partage par l'utilisateur dans Samba, les utilisateurs peuvent partager des répertoires sur le serveur Samba sans les autorisations root en exécutant la commande net usershare add.

Synopsis de la commande net usershare add:

net usershare add nom_partage chemin [[ commentaire ] | [ ACLs ]] [ guest_ok=y|n ]

Important

Si vous définissez des ACL lors de la création d'un partage d'utilisateurs, vous devez spécifier le paramètre commentaire avant les ACL. Pour définir un commentaire vide, utilisez une chaîne vide entre guillemets.

Notez que les utilisateurs ne peuvent activer l'accès invité sur un partage d'utilisateur que si l'administrateur a défini usershare allow guests = yes dans la section [global] du fichier /etc/samba/smb.conf.

Exemple 1.5. Ajout d'un partage d'utilisateur

Un utilisateur souhaite partager le répertoire /srv/samba/ sur un serveur Samba. Le partage doit être nommé example, n'avoir aucun commentaire et être accessible aux utilisateurs invités. En outre, les autorisations de partage doivent être définies comme un accès complet pour le groupe AD\Domain Users et des autorisations de lecture pour les autres utilisateurs. Pour ajouter ce partage, exécutez le programme en tant qu'utilisateur :

$ net usershare add example /srv/samba/ "" "AD\Domain Users":F,Everyone:R guest_ok=yes

1.11.3. Mise à jour des paramètres d'un partage d'utilisateurs

Pour mettre à jour les paramètres d'un partage utilisateur, remplacez le partage en utilisant la commande net usershare add avec le même nom de partage et les nouveaux paramètres.

Voir Ajout d'un partage d'utilisateur.

1.11.4. Affichage d'informations sur les partages d'utilisateurs existants

Les utilisateurs peuvent entrer la commande net usershare info sur un serveur Samba pour afficher les partages des utilisateurs et leurs paramètres.

Conditions préalables

  • Un partage d'utilisateurs est configuré sur le serveur Samba.

Procédure

  1. Pour afficher tous les partages créés par un utilisateur :

    $ net usershare info -l
    [share_1]
    path=/srv/samba/
    comment=
    usershare_acl=Everyone:R,host_name\user:F,
    guest_ok=y
    ...

    Pour ne répertorier que les partages créés par l'utilisateur qui exécute la commande, omettez le paramètre -l.

  2. Pour n'afficher que les informations relatives à des partages spécifiques, indiquez le nom du partage ou des caractères génériques à la commande. Par exemple, pour afficher les informations sur les partages dont le nom commence par share_:

    $ net usershare info -l share_* 

1.11.5. Liste des actions des utilisateurs

Si vous souhaitez répertorier uniquement les partages d'utilisateurs disponibles sans leurs paramètres sur un serveur Samba, utilisez la commande net usershare list.

Conditions préalables

  • Un partage d'utilisateurs est configuré sur le serveur Samba.

Procédure

  1. Pour dresser la liste des partages créés par un utilisateur :

    $ net usershare list -l
    share_1
    share_2
    ...

    Pour ne répertorier que les partages créés par l'utilisateur qui exécute la commande, omettez le paramètre -l.

  2. Pour ne répertorier que des partages spécifiques, indiquez le nom du partage ou des caractères génériques à la commande. Par exemple, pour répertorier uniquement les partages dont le nom commence par share_:

    $ net usershare list -l share_* 

1.11.6. Suppression d'un partage d'utilisateur

Pour supprimer un partage utilisateur, utilisez la commande net usershare delete en tant qu'utilisateur ayant créé le partage ou en tant qu'utilisateur root.

Conditions préalables

  • Un partage d'utilisateurs est configuré sur le serveur Samba.

Procédure

$ net usershare delete share_name

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.