Où dois-je placer les fichiers partagés de groupe sur un système Linux?


14

Je migre de nombreux petits scripts et données personnalisés d'un système Linux vers un autre.

Sur l'ancien système, nous avions un utilisateur partagé qui possédait la plupart des fichiers et ils se trouvaient dans ces utilisateurs /home, mais sur le nouveau, nous préférons nous connecter avec nos propres comptes et utiliser les autorisations de groupe pour collaborer, mais comme il n'y en aura pas un seul propriétaire des fichiers, il n'y a pas /home-dir.

Alors, où dois-je mettre ces fichiers partagés? Dois-je créer un utilisateur sans connexion propriétaire des fichiers? Ou existe-t-il un /grouphomeendroit approprié ?

(Je ne veux pas les diffuser dans les utilisateurs individuels /home: s.)


De quel type de fichiers s'agit-il?
Dan Carley

La plupart sont des scripts d'importation avec différents types de données associées qui doivent être filtrés et importés dans des bases de données.
Daniel

J'aime / grouphome. L'utilisateur sans connexion qui possède l'idée des fichiers est également bon.
pjc50

Réponses:


15

Je suggérerais presque certainement d'utiliser /usr/local.

Des scripts utilisateur accessibles à l'échelle mondiale peuvent être placés dans /usr/local/bin. De petites quantités de données associées pourraient également entrer bin. Ou vous pouvez souhaiter séparer les données en /usr/local/varou /usr/local/share.

En faisant cela, vous serez tout à fait sûr que quiconque connaît FHS sera en mesure de les localiser assez rapidement sans aucune connaissance préalable du système particulier.


3
(+1) Pour une référence future de ce qu'il faut mettre où: pathname.com/fhs/pub/fhs-2.3.html
Kyle Brandt

Merci à vous deux. /usr/localque ce soit. En fait, c'était l'une de mes premières options, mais la description de l'objectif de /usr(lecture seule) dans l'article suggéré m'a détourné de cette idée. Je suppose que j'aurais dû continuer à lire /usr/local.
Daniel

7

C'est exactement le genre de chose pour laquelle les droits de groupe sont conçus. Voici comment je le fais dans Ubuntu:

sudo mkdir /home/shared
sudo addgroup shared
sudo chown :shared /home/shared
sudo chmod 770 /home/shared
sudo vim /etc/group

Ajoutez la liste des utilisateurs qui doivent avoir accès au répertoire partagé au groupe partagé. Par exemple:

shared:x:1002:norman,nextuser,and,so-on

Vous pouvez, bien sûr, utiliser n'importe quel nom autre que «partagé» et il n'est pas nécessaire qu'il se trouve dans le répertoire / home. La bonne chose est que vous n'avez rien à faire de spécial pour les comptes des utilisateurs et vous pouvez facilement ajouter ou supprimer des utilisateurs du groupe.


Merci pour le vote négatif. Mais je voudrais savoir ce que j'ai écrit qui est incorrect.
simplr

définissez également le groupe sticky bit, de sorte que le groupe soit défini pour les nouveaux fichiers créés. chmod g+s /home/shared
jris198944

1
@ jris198944 sest pour les bits SUID et GUID, test pour le bit collant. Vérifiez avant de poster, s'il vous plaît ;-) Voir: unix.stackexchange.com/a/79401/136321 .
leaf

1

La réponse courte est; Où vous voulez :)

J'aime utiliser quelque chose comme / projets, / partagé ou / commun. / home / travaux partagés aussi.


Merci. Bref et agréable, mais parfois c'est plus facile si vous n'avez pas à vous décider ... Serait-il conforme à la FHS de mettre mon propre répertoire sous /? Quand (le cas échéant) est-ce important? Je n'ai pas assez d'expérience pour comprendre les implications de mon choix.
Daniel

Ce ne sont vraiment que des conventions. D'autres programmes qui recherchent des trucs mon look dans ces endroits prédéfinis. Les répertoires bin seront déjà dans votre $ PATH, vous n'aurez donc pas à spécifier le nom de chemin complet pour exécuter le script. D'autres administrateurs pourraient s'attendre à ce qu'ils soient là. Cela n'a probablement pas vraiment d'importance dans votre cas, mais les bonnes habitudes sont bonnes :-)
Kyle Brandt

Il existe un certain nombre de conventions applicables aux environnements UNIX. Le FHS constitue une bonne base de référence, mais il est assez courant de s'écarter de cette norme. Par exemple, l'architecture flexible optimale pour les serveurs de base de données Oracle utilise / u * (/ u01, / u02) pour les données utilisateur locales tandis qu'Ubuntu, entre autres, utilise / media pour les points de montage des supports amovibles. Tant que vous avez une convention que vous acceptez en interne dans votre environnement opérationnel, il ne devrait pas y avoir de problème.
Roy

0

J'utilise /shares; c'est également l'emplacement utilisé par qnap.

Dans /sharesJ'ai un lien symbolique vers la destination dans un dossier appelé /shares/.mnt/où j'ai les lecteurs de données montés.

Ceci est fait pour éviter les longs temps d'attente lors du déplacement de fichiers entre les partages lors de l'utilisation de liens physiques dans /shareslesquels sont nécessaires lorsque les lecteurs de données sont montés uniquement dans / mnt.

/shares/.mnt n'est pas partagé, soit dit en passant.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.