web-dev-qa-db-fra.com

Y a-t-il une raison pour laquelle je ne voudrais pas ajouter / USR / local / sbin, / usr / sbin, / sbin à mon chemin sur Debian?

Comparez Debian (à gauche) et Ubuntu (à droite):

$ ifconfig                                 $ ifconfig
bash: ifconfig: command not found          eth0     Link encap ...
$ which ifconfig                           $ which ifconfig
$                                          /sbin/ifconfig

Puis comme superutilisateur:

# ifconfig                                 # ifconfig
eth0      Link encap ...                   eth0     Link encap ...
# which ifconfig                           # which ifconfig
/sbin/ifconfig                             /sbin/ifconfig

En outre:

# ls -l /sbin/ifconfig                     # ls -l /sbin/ifconfig
-rwxr-xr-x 1 root root 68360 ...           -rwxr-xr-x 1 root root 68040 ...

Il me semble la seule raison pour laquelle je ne peux pas courir ifconfig sans superpuissance sur Debian est que ce n'est pas dans mon chemin. Quand j'utilise /sbin/ifconfig ça marche.

Y a-t-il une raison pour laquelle je devrais ( non Ajouter /usr/local/sbin:/usr/sbin:/sbin à mon chemin sur Debian? Ceci est un ordinateur personnel, je suis le seul utilisateur humain.


Versions utilisées (uname -a):
[.____] Ubuntu:

Linux ubuntu 3.13.0-51-generic #84-Ubuntu SMP Wed Apr 15 12:08:34 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux

Debian:

Linux debian 3.16.0-4-AMD64 #1 SMP Debian 3.16.7-ckt11-1+deb8u3 (2015-08-04) x86_64 GNU/Linux
27
user37050

Dans la Politique de Debian est écrit que Debian suit la norme Standard de la hiérarchie du fichier version 2.3. Note n ° 19 sur la norme indique:

Décider des annuaires "SBIN" est simple: si un utilisateur normal (non un administrateur système) ne l'exécutera jamais directement, il doit ensuite être placé dans l'un des annuaires "bac". Les utilisateurs ordinaires ne devraient pas avoir à placer aucun des répertoires SBIN sur leur chemin.

Par exemple, des fichiers tels que CHFN que les utilisateurs utilisent occasionnellement doivent encore être placés dans/usr/bin. Ping, bien qu'il soit absolument nécessaire pour la racine (récupération du réseau et diagnostic) est souvent utilisé par les utilisateurs et doit vivre dans/bin pour cette raison.

Nous recommandons aux utilisateurs de lire et d'exécuter une autorisation pour tout dans/SBIN, sauf, peut-être certains programmes SETUID et SETGID. La division entre/bin et/sbin n'a pas été créée pour des raisons de sécurité ni pour empêcher les utilisateurs de voir le système d'exploitation, mais de fournir une bonne partition entre les binaires utilisées par tout le monde et ceux qui sont principalement utilisés pour les tâches d'administration. Il n'y a pas d'avantage de sécurité inhérent à la création/sbin hors limites des utilisateurs .


Réponse courte:

Y a-t-il une raison pour laquelle je ne devrais pas ajouter /usr/local/sbin:/usr/sbin:/sbin à mon chemin sur Debian?

Comme la note indique, il n'y a aucune raison pour laquelle vous ne devriez pas faire cela. Puisque vous êtes le seul à l'aide du système et que vous avez besoin des binaires dans les répertoires sbin, n'hésitez pas à les ajouter à votre $PATH. À ce stade, laissez-moi vous guider vers une excellente réponse comment faire correctement.

30
chaos

La seule raison de ne pas les ajouter est que cela rend l'onglet achèvement des commandes plus lentes (car davantage de répertoires sont recherchés) et moins efficaces (car il y a plus de chances d'être des matchs parasites des commandes qui n'ont pas de sens pour une utilisation non-racine à utiliser ).