barxool
Bonjour
je viens d'installer fedora core 4.
j'ai rien touché pour le moment mais la commande "ifconfig" ne marche pas, de meme que "arp" ca me dit un truc du genre "bash : command not found"
comme j'ai vu sur un autre forum, le seul moyen apparement de la faire marcher c'est de faire /sbin/ifconfig a partir de / et là effectivement ca marche.
ce qui est etonnant c'est que d'autres commandes comme nslookup, ping, fonctionnent normalement...
Si il faut editer du bashrc ou faire des alias ou des paths ou je ne sais quoi, je vous demanderai de detailler svp, vu que je debute.
a vous les pros.
merci 🙂
edit: je precise que j'ai fait une installation de type "serveur".
drpixel
Pour utiliser la commande ifconfig il faut être root.
Dans un terminal tu tapes :
[christophe@durandal ~]$ su -
Password:
[root@durandal ~]# ifconfig
eth0 Link encap:Ethernet HWaddr 00:10:DC:C9:1A:95
inet adr:192.168.0.10 Bcast:192.168.0.255 Masque:255.255.255.0
Ca devrait faire l'affaire.
nouvo09
D'une façon générale, toutes les commandes "d'administration" qui n'ont pas à être exécutée par un utilisateur lambda se trouvent dans les répertoires
/sbin
/usr/sbin
et ces répertoires ne figurent pas, dans la configuraton standard, dans le "path", chemin de recherche des commandes des utilisateurs autres que root.
Pour t'en convaincre, ouvre une console, sous root et tape:
echo $PATH
puis fais la meme chose sous le login d'un autre utilisateur, et compare.
barxool
merci pour vos reponses.
cependant meme en root la commande ne marche pas...
j'ai au moins compris comment on se logguait en root, il suffit de taper "root" en utilisateur 🙂
pour ce qui est de la commande path, je vous mets ce que ca me renvoie, si ca peut vous permettre de trouver le probleme:
[barxool@localhost ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/barxool/bin
et:
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/ usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
voila.
y'a pas moyen de rajouter carrement le path si c'est ca qui manque ?
nouvo09
barxool a écrit:
merci pour vos reponses.
cependant meme en root la commande ne marche pas...
j'ai au moins compris comment on se logguait en root, il suffit de taper "root" en utilisateur 🙂
pour ce qui est de la commande path, je vous mets ce que ca me renvoie, si ca peut vous permettre de trouver le probleme:
[barxool@localhost ~]$ echo $PATH
/usr/kerberos/bin:/usr/local/bin:/bin:/usr/bin:/usr/X11R6/bin:/home/barxool/bin
et:
[root@localhost ~]# echo $PATH
/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/ usr/sbin:/usr/bin:/usr/X11R6/bin:/root/bin
voila.
y'a pas moyen de rajouter carrement le path si c'est ca qui manque ?
ca n'a pas d intéret de mofifier le PATH des utilisateurs autres que root pour aller farfouiller dans /sbin, la plupart du temps ce que tu y trouveras ne pourrait etre exécuté que par root. ce sont des repertoires qui lui sont dédiés.
barxool
ok 🙂
ca marche maintenant.
par contre j'aimerais bien rajouter le repertoire courant dans le path. (pour pouvoir executer un programme)
la commande c'est bien:
$PATH = $PATH:.
?
(apres j'arrete mes questions 🙂)
merci
pingoomax
Alors reprenons par ordre :
On passe en mode root en tapant dans une console "su" ou "su -" (sans les " " évidemment).
-> "su" donne les droits du super-utilisateur, mais ne modifie pas les variables d'environnements, cad que le PATH reste celui de ton utilisateur, ce qui explique que la commande "ifconfig" doit être appelée par "/sbin/ifconfig".
-> "su -" donne les droits du super-utilisateur et passe les variables d'environnements de celui-ci. Ainsi (entre autres) le PATH est modifié. "ifconfig" peut donc être appelée directement.
=> A quoi sert la commande "su" (à priori plus chiante qu'autre chose).
Et bien parfois on n'a pas envie de récupérer les variables d'environnement!! EX: pendant une compilation, on fait "./configure" et "make" en tant que simple utilisateur et "make install" doit être fait avec les droits root. Si on fait "su -", on est déplacé automatiquement dans le répertoire perso de root (/root), et ici ça nous #"'&!!:;@ plus qu'atre chose.
Maintenant le PATH.
ON NE MET PAS LE RÉPERTOIRE COURANT DANS LE PATH!!!
Ceci pour une raison de sécurité. Si quelqu'un s'amuse à mettre un pti prog (malveillant de préférence) nommé disons..... 'ls', dans un ou plusieurs répertoires, il se peut que ce programme soit exécuté involontairement.
Et oui, un appel à "ls" dans ce répertoire exécuterait le prog malveillant et non, la "vraie" commande.
(quoique.... si le répertoire "." est à la fin du PATH, ça ne doit pas poser de problème. <-- A VÉRIFIER.)
Après si tu penses que taper "./blabla" est vraiment plus fatiguant que "blabla", vas-y.
(Si tes petits doigts sont si fatigués je te conseille de créer des liens symboliques ("ln -s /chemin/du/programme") dans le répertoire /home/ton_utilisateur/bin/ qui est déjà dans ton PATH, et ainsi ces commandes seront accessible de partout.)
nouvo09
pour ma part je rajoute toujours "." au début de la définition du path dans /etc/bashrc
je trouve trop galère qu'il n'y soit pas (peut etre une habitude prise sous dos ? )
remi
Dans ce cas rajoutes le plutôt à la fin du PATH pour que les commandes systèmes restent prioritaires sur les commandes individuelles.
A++
pingoomax
Sérieusement moi je comprends pas!!!
Il n'y a quand même pas des tonnes de programmes que tu dois exécuter qui ne sont pas dans ton PATH!!!
Si tu t'en sers ton les jours, je le répète, lien symbolique.
Et enfin tu vas pas me dire que après avoir taper "cd bla/blabla/blablabla" c'est "trop galère" d'ajouter "./" devant un nom.
Anvil
pingoomax a écrit:
Sérieusement moi je comprends pas!!!
Il n'y a quand même pas des tonnes de programmes que tu dois exécuter qui ne sont pas dans ton PATH!!!
Si tu t'en sers ton les jours, je le répète, lien symbolique.
Tu te compliques la vie la. Rajoute simplement les repertoires qui n'y sont pas, dans ton PATH. C'est ce que j'ai fait il y a presque 10 ans..
Mais bon... a la remarque mega-recurrente "ifconfig marche pas", je repond "zavez rien compris, c'est l'utilisateur qui marche pas la". La question a ete posee surement un demi-million de fois cette annee... google, les gars.. google.
barxool
pingoomax:
ah oui ! j'avais pas pensé a ce probleme de securité.
bien vu ca 🙂
Anvil:
j'avais deja fait google, et le seul truc sur lequel je suis tombé c'etait un pauv topic avec deux posts ou les deux disaient que ifconfig ne marchait pas, et il n'y avait pas de reponse.
et ce type de bot me soule un peu en fait:
if (noob_pose_une_question) then
{
printf("goooooooooooooooogle");
}
allez, c'est le reflexe de tout le monde de dire "goooogle" a un noob, je te taquine 🙂
++
Anvil
j'avais deja fait google, et le seul truc sur lequel je suis tombé c'etait un pauv topic avec deux posts ou les deux disaient que ifconfig ne marchait pas, et il n'y avait pas de reponse.
premiere reponse sur google a : "where is ifconfig" fedora core
T'as pas du chercher bien loin ! Je crois que la reponse est aussi dans la fedorafaq.org, et surement aussi sur fedorasolved et des centaines de fois dans les archives de ce forum.
barxool
j'ai pas cherché en anglais effectivement.
-then pour le code en C 🙂 (trop d'ada...)
nouvo09
un tuyau ?
essaie de taper dans un terminal, meme sans etre root:
$ locate ifconfig
et n'oublie jamais cette commande, elle sert plusieurs fois par jour !
Anvil
Vu que l'updatedb journalier n'est pas active par defaut sous FC4, c'est un peu limite, pour locate..
Pour rechercher un binaire dans les path usuels : `whereis'.
tapioca
"whereis" cherche aussi les sources et les pages de man.
Je lui préfère "which".
Anvil
which ne te sert a rien si la commande n'est pas dans ton PATH.