Nous avons un environnement de quelques milliers d'utilisateurs exécutant des applications sur environ 40 clusters dont la taille varie de 20 nœuds de calcul à 98 000 nœuds de calcul. Les utilisateurs de ces systèmes génèrent des fichiers volumineux (parfois> 1 Po) contrôlés par des autorisations Unix traditionnelles (les listes de contrôle d'accès ne sont généralement pas disponibles ou pratiques en raison de la nature spécialisée du système de fichiers).
Nous avons actuellement un programme appelé "give", qui est un programme suid-root qui permet à un utilisateur de "donner" un fichier à un autre utilisateur lorsque les autorisations de groupe sont insuffisantes. Ainsi, un utilisateur doit taper quelque chose comme ceci pour donner un fichier à un autre utilisateur:
> give username-to-give-to filename-to-give ...
L'utilisateur destinataire peut alors utiliser une commande appelée "take" (partie du programme give) pour recevoir le fichier:
> take filename-to-receive
Les autorisations du fichier sont ensuite effectivement transférées à l'utilisateur destinataire.
Ce programme existe depuis des années et nous aimerions revoir les choses d'un point de vue sécuritaire et fonctionnel.
Notre plan d'action actuel consiste à supprimer la pourriture de bits dans notre implémentation actuelle de «Give» et à l'intégrer sous forme d'application open source avant de la redéployer en production.
Quelqu'un a-t-il une autre méthode à utiliser pour transférer des fichiers extrêmement volumineux entre utilisateurs lorsque seules les autorisations Unix traditionnelles sont disponibles?
chown
vous devez le faire. Il semble que vous souhaitiez également copier le fichier, une fois que les deux parties concernées se sont entendues.