Y a-t-il une raison pour laquelle je najouterais pas / 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 

De plus:

# 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 que je Impossible dexécuter ifconfig sans superpuissances sur Debian, cest que ce nest pas dans mon chemin. Quand jutilise /sbin/ifconfig cela fonctionne.

Y a-t-il une raison pour laquelle je devrais pas ajouter /usr/local/sbin:/usr/sbin:/sbin vers 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 

Commentaires

  • Excellente question – votée pour 🙂 Incidemment, ici ' s un peu dhistoire sur la décision de Debian ' de ne pas p ut /usr/local/sbin:/usr/sbin:/sbin dans le PATH par défaut pour les utilisateurs ordinaires. Lapproche dUbuntu ' semble plus conviviale pour tous, sauf pour les utilisateurs les plus chevronnés.

Réponse

Dans la Politique Debian , il est écrit que Debian suit la Hiérarchie des fichiers Version standard 2.3. La note n ° 19 sur la norme dit:

Décider de ce qui va dans " sbin " répertoires est simple: si un utilisateur normal (pas un administrateur système) lexécutera directement, alors il doit être placé dans un des répertoires " bin ". Les utilisateurs ordinaires ne devraient avoir à placer aucun des répertoires sbin dans leur chemin.

Par exemple, les fichiers tels que chfn que les utilisateurs nutilisent quoccasionnellement doivent toujours être placés dans / usr / bin. ping, bien quil soit absolument nécessaire pour root (récupération et diagnostic du réseau) est souvent utilisé par les utilisateurs et doit vivre dans / bin pour cette raison.

Nous recommandons aux utilisateurs davoir une autorisation de lecture et dexécution pour tout ce qui se trouve dans / sbin sauf, peut-être, certains programmes setuid et setgid. La division entre / bin et / sbin na pas été créée pour des raisons de sécurité ou pour empêcher les utilisateurs de voir le système dexploitation, mais pour fournir une bonne partition entre les binaires que tout le monde utilise et ceux qui sont principalement utilisés pour les tâches dadministration. Il ny a aucun avantage de sécurité inhérent à rendre / sbin hors limites pour les utilisateurs .


Réponse courte:

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

Comme lindique la note, il ny a aucune raison pour laquelle vous ne devriez pas faire cela. Puisque vous « êtes le seul à utiliser le système et que vous avez besoin des binaires dans les répertoires sbin, nhésitez pas à les ajouter à vos $PATH . À ce stade, permettez-moi de vous guider vers une excellente réponse sur la manière de procéder correctement.

Réponse

La seule raison de ne pas les ajouter est que cela rend lachèvement des tabulations des commandes plus lent (car plus de répertoires sont recherchés) et moins efficace (car il y a plus de chances quil y ait de fausses correspondances de commandes qui cela n’a pas de sens pour une utilisation non root).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *