web-dev-qa-db-fra.com

Pourquoi dois-je être root pour exécuter la commande ifconfig?

Je suis récemment passé d'Ubuntu 10.04 LTS à 12.04 LTS, et l'un des changements que j'ai remarqué est que lorsque j'essaie d'exécuter la commande ifconfig (par exemple pour afficher ma propre IP), j'obtiens la sortie suivante:

La commande 'ifconfig' est disponible dans '/ sbin/ifconfig' La commande n'a pas pu être localisée car '/ sbin' n'est pas inclus dans la variable d'environnement PATH>. Cela est probablement dû au manque de privilèges administratifs associés à votre> compte d'utilisateur. ifconfig: commande introuvable

Pour exécuter la commande, je dois exécuter Sudo ifconfig. Ce n'était pas le cas en 10.04, donc je me demande: y a-t-il une raison à ce changement? Est-ce le comportement attendu pour 12.04 ou quelque chose ne va pas avec mes paramètres? J'espère que quelqu'un d'autre exécutant Ubuntu 12.04 pourra essayer d'exécuter la commande et voir s'il obtient le même résultat que moi.

1
Mads

Comme le message l'indique, le problème est que ifconfig n'est pas sur votre chemin. Vous pouvez l'exécuter en tant qu'utilisateur normal en donnant le chemin complet: /sbin/ifconfig. Essayez!

Je suppose que le 10.04, vous avez ajouté /sbin/ sur votre chemin, et ne l'a pas fait lors de la mise à niveau vers 12.04.

Notez cependant que vous devrez être root si vous souhaitez utiliser ifconfig pour modifier les configurations réseau; J'espère que les raisons en sont plus qu'évidentes :)

4
roadmr

Ajouter /sbin à PATH env var:

export PATH="$PATH:/sbin"
0
user248766