Récupérer l’adresse IP locale sous Linux sans droits root

Voici 2 commandes pour récupérer votre adresse IP locale qui n’ont pas besoin des droits root :

$ hostname -I
192.168.0.3
$ ip addr
1: lo:  mtu 65536 qdisc noqueue state UNKNOWN group default 
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
2: eth0:  mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether 70:52:04:73:48:2a brd ff:ff:ff:ff:ff:ff
3: wlan0:  mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 5d:50:4a:46:8b:27 brd ff:ff:ff:ff:ff:ff
    inet 192.168.0.3/24 brd 192.168.0.1 scope global dynamic wlan0
       valid_lft 8014sec preferred_lft 8014sec
    inet6 fe80::5d50:4aff:fe46:8b27/64 scope link 
       valid_lft forever preferred_lft forever
$ /sbin/ifconfig 
eth0      Link encap:Ethernet  HWaddr 70:52:04:73:48:2a  
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
          Interruption:20 Mémoire:f1600000-f1620000 

lo        Link encap:Boucle locale  
          inet adr:127.0.0.1  Masque:255.0.0.0
          adr inet6: ::1/128 Scope:Hôte
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:237 errors:0 dropped:0 overruns:0 frame:0
          TX packets:237 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:0 
          RX bytes:20363 (19.8 KiB)  TX bytes:20363 (19.8 KiB)

wlan0     Link encap:Ethernet  HWaddr 5d:50:4a:46:8b:27  
          inet adr:192.168.0.3  Bcast:192.168.0.1  Masque:255.255.255.0
          adr inet6: fe80::5d50:4aff:fe46:8b27/64 Scope:Lien
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:15053 errors:0 dropped:0 overruns:0 frame:0
          TX packets:14008 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 lg file transmission:1000 
          RX bytes:13286403 (12.6 MiB)  TX bytes:11979059 (11.4 MiB)

9 réactions sur “ Récupérer l’adresse IP locale sous Linux sans droits root ”

  1. le hollandais volant

    Oui, ifconfig marche ici aussi sans Root.

    Pour faire complet :
    ifconfig | grep 'inet adr'

    (mais merci pour la première commande, que je ne connaissais pas. Elle peut retourner plusieurs IP par contre, conformément au nombre de cartes réseau et de la boucle locale)

  2. orel

    Alors en fait ça dépend de la distribution…
    Avec une debian wheezy par exemple et un user « normal » ça me donne « bash: ifconfig : commande introuvable », car « sbin » n’est pas dans le $PATH des utilisateurs.

    User $PATH : /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
    Root $PATH : /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

    Donc ip c’est bien, en plus c’est l’avenir :-)

  3. Tuxicoman Auteur Article

    Sur Jessie, (la Debian stable actuelle), /sbin n’est pas dans le $PATH utilisateur. C’est à priori logique vu que /sbin ne comprend normalement que les programmes réservés à root.

    Maintenant, il pourrait y avoir un alias ifconfig pour l’utilisateur…

    Mais « ip » est la commande recommandée désormais donc ça fait sens de déprécier « ifconfig »

  4. Tuxicoman Auteur Article

    J’ai rajouté la commande « ifconfig » dans l’article, comme ça, pas de jaloux.

  5. hetica

    « ip addr » peut être raccourci en « ip a »

    et en moins bavard :
    ip -o -4 a
    -o : une seule ligne par carte : pratique pour faire un pipe
    -4 : uniquement IPv4

    Et un alias sympa :
    alias ipa=’ip -o -4 a | tr -s  »  » | cut -d »  » -f2,4′

    Merci pour le « hostname -I » que je ne connaissais pas.

  6. Hetica

    Sinon, avec ifconfig, la technique du Hollandais volant est bien, mais comme pour « hostname -I » on ne récupère pas le nom de l’interface. Je propose :

    ifconfig | grep -B 1 ‘adr’

  7. ptdr

    Bref, il y a plein de façons et il n’y a jamais eu besoin de root. GG.

Laisser un commentaire

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.