web-dev-qa-db-fra.com

Autorisations / Propriété de / USR / local / bin

De ce que je comprends, le bon endroit pour mettre vos propres scripts est /usr/local/bin (par exemple un script, j'utilise pour sauvegarder certains fichiers). Je remarque que ce dossier est actuellement (par défaut) appartenant à la racine, et mon utilisateur normal ne l'a pas accès. Je suis le seul utilisateur sur cet ordinateur. Dois-je changer tout ce dossier à mon propre utilisateur? Ou existe-t-il un autre moyen approprié d'organiser des autorisations de /usr/local/bin?

25

Par défaut, le propriétaire et le groupe de /usr/local et tous les sous-répertoires (y compris bin) devraient être root.root et les autorisations devraient être rwxr-xr-x. Cela signifie que les utilisateurs du système peuvent lire et exécuter dans (et à partir de) cette structure de répertoire, mais ne peuvent pas créer ou modifier des fichiers. Seul le compte root (ou un administrateur utilisant Sudo) doit pouvoir créer et modifier des fichiers dans cet endroit. Même s'il n'y a qu'un seul utilisateur sur le système, il est généralement une mauvaise idée de modifier les autorisations de cette structure de répertoire à l'écriture de tout utilisateur autre que root.

Je suggérerais de placer votre script/binaire/exécutable dans /usr/local/bin Utiliser le compte root. C'est une bonne habitude d'entrer dans. Vous pouvez également placer le script/binaire/exécutable en $ home/bac et assurez-vous que $ home/bin est dans votre chemin $.

Voir cette question pour plus de discussion: Où une exécutable locale doit-elle être placée?

26
George M

L'endroit habituel pour mettre vos propres scripts est ~/bin, puis ajoutez ce répertoire à votre PATH.

10
Renan

Ne passez pas la peine d'essayer de mettre les choses dans des annuaires potentiellement utilisés par d'autres parties du système.

Si vous êtes le seul utilisateur du système, installez-vous simplement sous $HOME, par exemple dans un $HOME/local hiérarchie. Soit cela ou utiliser une hiérarchie totalement séparée enracinée dans, par exemple, /opt ou /sw ou somesuch place (non utilisé par le système de base ou les gestionnaires de paquets).

0
Kusalananda