Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 11/12/2022, à 18:16

kewan

samba et permissions

Bonjour tout le forum, j’ai besoin de votre aide.

J’ai créé un serveur sous ubuntu.

Je voudrais un répertoire qui permettrai à des utilisateurs de déposer leurs fichiers mais sans pourvoir les supprimer, les consulter ni même changer leur nom.

J’ai installé samba, configurer le fichier /etc/samba/smb.conf

[archiverFichiers]
   path=/var/www/fichiersArchives
   browseable=no
   read only=no
   create mask = 0000

et j’ai créé un utilisateur
smbpasswd -a nomUtilisateur

pour le répertoire /var/www/fichiersArchives
le propriétaire est root
les permissions sont 0707

J’accède bien au répertoire, je peux y déposer des fichiers, je ne peux pas les consulter, je ne peux pas changer leur nom mais je peux tous les supprimer.

Je n’arrive pas à configurer correctement les permissions pour interdire la suppression des fichiers

Merci pour votre aide.

Dernière modification par kewan (Le 11/12/2022, à 18:23)

Hors ligne

#2 Le 12/12/2022, à 22:58

kewan

Re : samba et permissions

Bonjour, j'ai fait des recherches

Est-ce que je dois utiliser des Access control lists (ACL) ou chattr ou create mode ou directory mode ?

Je ne sais pas comment faire.

Hors ligne

#3 Le 13/12/2022, à 02:21

Coeur Noir

Re : samba et permissions

Hello,

disons qu'on oublie samba pour l'instant, et qu'on est juste dans un système 100% Linux.

Disons que machin est propriétaire du dossier /var/www/bidules/
avec droits rwx------ soit 0700
ça signifie que machin peut lire-écrire-exécuter DANS l'élément bidules.
Il pourra donc effacer n'importe quoi se trouvant DANS bidules même si ces n'importe quoi ne lui appartiennent pas.

Tu peux restreindre l'effacement d'un élément à son propriétaire, c'est le droit spécial « sticky bit » → https://www.redhat.com/sysadmin/suid-sgid-sticky-bit
Ça suppose donc un dossier accessible en écriture à plus d'un avec droits rwxrwx--- soit 770 appartenant à root:machin
Auquel on adjoint le sticky bit, soit 1770 qui donnera en littéral rwxrwx--t
Ça signifie que machin et les utilisateurs membres de son groupe pourront écrire dans ce dossier MAiS que la possibilité de supprimer un élément n'est accordée qu'à l'utilisateur propriétaire de cet élément.
Ça implique aussi que tous les utilisateurs amenés à utiliser ce dossier doivent être inclus au groupe machin.
Les autres, ceux qui ne sont ni machin, ni root, ni membres du groupe machin, ont zéro accès à ce dossier.

Je suppose ( pas testé ) qu'en lui donnant root:machin comme propriétaires, et droits rwxr-xrwt on fait en sorte que n'importe qui puisse écrire dans ce dossier SAUF machin et les membres de son groupe, qui n'auront alors qu'un droit de lecture.

C'est les droits et permissions sous Linux.

Et attention, en soi un dossier en ××7 est une potentielle faille de sécurité, s'il n'est pas précautionneusement contextualisé / surveillé ( à priori n'importe qui peut faire n'importe quoi là-dedans… )

Maintenant la question de samba…

Si tu utilises samba, c'est que tu as des utilisateurs sur des machines Windows qui doivent accéder directement, localement à ce dossier /var/www/bidules/
Si ça n'est pas ton contexte, précise.
Car la fonction de samba c'est de causer à Windows, grosso-merdo et rien d'autre.
Dossier qui est donc hébergé dans un système Linux.
Samba permet au système Linux de montrer des éléments, dossiers, aux machines Windows sur le réseau local.

Tu pourras créer des utilisateurs samba uniquement pour des utilisateurs existant déjà dans le système Linux.
Il faudra préalablement créer tous les utilisateurs ( provenant des machines Windows et potentiels accédants au dossier bidules ) dans le système Linux. Utilisateurs et éventuellement groupes.
Ou un seul mais tous les utilisateurs ( Windows ) concernés par ce dossier partagé utiliseront ce seul couple id/mdp pour tous s'y connecter.

Ensuite dans le smb.conf, la partie qui décrit le dossier partagé, tu as des options qui permettent de signifier qui a le droit de faire quoi dans ce dossier, des choses comme :
⋅ writelist
. forceuser
⋅ forcegroup
⋅ entre autres car samba est une usine à gaz…
…où les notions d'utilisateurs et groupes existent aussi.
D'où l'importance que ceux-là existent préalablement dans le système Linux qui héberge samba.

Enfin, tu dois te demander où je veux t'emmener avec ce déblayage que tu avais peut-être déjà fait par toi-même…

Je voudrais un répertoire qui permettrai à des utilisateurs de déposer leurs fichiers mais sans pourvoir les supprimer, les consulter ni même changer leur nom.
Je ne sais pas comment faire cela : s'ils déposent, c'est qu'ils peuvent écrire donc modifier ou supprimer l'élément qui leur appartient…
Ça ne veut pas dire que c'est impossible, hein ! Juste moi je sais pas.
Par contre, faut p'têt simplifier l'idée ?
Disons que les gens déposent leurs éléments dans ce dossier partagé.
Et qu'à intervalles réguliers le contenu de ce dossier est déplacé vers un autre dossier dans ton serveur auquel ils n'ont pas accès ?
Des tâches dans ce genre ça s'automatise assez facilement ( cron par ex. )
Au final quelqu'un doit bien avoir accès à ces données, ça a l'air d'être un genre de sauvegarde ?
Tant que les éléments ne sont pas déplacés, ça laisse la possibilité aux utilisateurs de revenir dessus.

Tout dépend du contexte, des besoins…
Car il y a aussi des outils « clé en mains »
⋅ pour synchroniser instantanément des dossiers entre machines ( syncthing - une merveille ! )
⋅ pour organiser divers types de sauvegarde ( versionnées, cumulatives ou substitutives ) voir par là
Outils qui seront parfois plus simples à mettre en place que samba…

Dernière modification par Coeur Noir (Le 13/12/2022, à 02:34)


DébuterDocBien rédigerRetour commandeInsérer image | illustrations & captures d'écran <>

Hors ligne