Forum général.général Complétude du shell - fonction lsmod manquante

Posté par  .
Étiquettes : aucune
0
20
juil.
2006
Bonjour,

j'étais sur Mandriva 06 et comme j'essaie de progresser sur linux, j'ai installé FC5.
J'ai cherché à lancer les fonctions lsmod et modprobe, mais le shell m'indique que les fichiers sont manquants. J'ai vérifié le $PATH, rien de remarquable; l'installation a été réalisée avec les paramètres classiques.
J'en déduis que le shell n'est pas complet: comment faire pour vérifier les fonctions incluses dans le shell et, le cas échéant, le compléter.

Merci pour votre aide

Olivier
  • # sbin ?

    Posté par  . Évalué à 2.

    lsmod et modprobe etant reservée à l'utilisateur root elles se trouvent dans le dossier /usr/sbin ou equivalent...

    si tu n'es pas root, tu n'auras pas acces au dossier sbin car il n'est pas dans ton PATH.

    passes donc en root, et tu verras lsmod et modprobe apparaitre ;-)
  • # euh...

    Posté par  (site web personnel) . Évalué à 2.

    Tout d'abord, lsmod et modprobe ne sont pas des fonctions du shell. Ensuite, sans ces executables, ton systeme ne serait meme pas capable de se lancer (enfin j'exagere un peu... mais pas un seul module ne pourrait etre charge, donc plein de pilotes risqueraient d'etre manquants).

    Une petite question: tu es bien en root quand tu essaye de lancer lsmod? Car seul root a le droit de lancer ces commandes!

    Ensuite, fait un locate lsmod ou modprobe, et je serais tres etonne que locate ne te les trouve pas quelque part! (peut etre a un endroit qui n'est pas declare dans PATH, afin de ne pas trop exposer ces commandes).

    Mathias
    • [^] # Re: euh...

      Posté par  . Évalué à 1.

      le résultat de locate est
      /sbin/lsmod

      or le résultat de $PATH
      /usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/home/olivier/bin

      d'où je constate qu'effectivement le $path ne renvoie pas vers cette fonction.

      Je comprends que la non inclusion provient de la volonté de ne pas "exposer"
      ces commandes. Quel est le risque: charger un module qui serait un trojan?

      Sinon, comment rajouter /sbin/lsmod dans le path pour les retrouver au démarrage.

      merci d'avance
      • [^] # Re: euh...

        Posté par  (site web personnel) . Évalué à -1.

        hum, j'aurais une autre vision ;)

        La fedora core est plus complexe, et pas orientée vers les même objectifs...

        La fedora core est une distribution de beta test de redhat pour ensuite faire sa distribution payante : RHEL

        J'ai récemment eu l'occasion de la tester et j'ai été plus que déçu :
        - pas de couleurs correcte (vieux modèle de couleur)
        - pas de vim avec coloration syntaxique
        - plein de paquets mal configuré après installation
        - yum qui rammmmmmmmeeeeeeeeeeeeeeeeeeee
        (et je suis gentil)

        Bref, fait tes tests sur fedora core si ça te chante, mais je te recommande vivement de t'orienter vers une distribution non LSB :
        - ubuntu (si tu est un flemmard)
        - debian (mais si tu prend la stable, les versions sont pas récentes...)
        [mode troll = mais qu'est-ce que je raconte, moi, je parle de debian, enfin fedora étant bien en dessous...]

        Ou une LSB (Linux Standard Base) :
        - mandriva 2007
        => actuellement elle est vraiment stable et ça vaut le coup de la tester
        => Xorg-7.1
        => Apache 2.2.2
        => PHP 5.1.4
        => MySQL 5.1.22
        => KDE 3.5.3 (3.5.4 pour la finale a priori)

        sinon je te conseille simplement de retoucher ton PATH dans ton fichier ~/.bashrc
        ajoute : export PATH=/sbin:/usr/sbin:$PATH
        (au pire tu te prendre un command not allowed pour les commandes nécessitant d'être root)
        • [^] # Re: euh...

          Posté par  . Évalué à 1.

          je serais bien resté sous mandriva; j'apprécie la fonction urpmi;
          malheureusement, pour moi, linux doit être totalement gratuit et c'est pas totalement le cas de mandriva.
          La 2007 n'est disponible en version dvd que pour les abonnés, non?
          Comme le but, c'est de travailler avec les logiciels les plus à jour (ou en tout cas, pas trop anciens), j'avais écarté debian malgré sa grande stabilité.
          quant à unbuntu, il me semblait qu'elle ne gère pas le compte root, et que la sécurité laisse à désirer...
          • [^] # Re: euh...

            Posté par  (site web personnel) . Évalué à 3.

            Sincèrement crois-tu que je paye une seule seconde pour une distribution linux que j'aide a débugguer ?

            Bon la 2007 est pas encore sortie (et un petit peu réservée a des experts encore) donc ça te permettra d'apprendre, mais tu peux rencontrer quelques soucis (hésite pas a les rapporter sur la mailing liste)

            Les isos sont là :
            ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/d(...)

            Les isos en question sont un peu vielles, installe avec, ensuite va sur :
            http://easyurpmi.zarb.org/

            Génère les sources pour la cooker (et pas la 2006 ni la community ou autre !!!) pour main, contrib, plf-free, plf-nonfree.

            Ça va te permettre de la tester tranquillement ;)

            Pense a faire un urpmi.update -a && urpmi --auto-select --repackage
            et après 1 reboot et 2jours si tu a aucun soucis vire les paquets dans /var/spool/repackage
            (ça t'évitera de te retrouver avec une version cassée d'un logiciel)

            Pense a t'inscrire sur la mailing liste (en anglais), ça te permettra de poser des question et rapporter les soucis.

            Et puis franchement, si tu aime la mandriva tu achète un truc a eux pour ajouter ta pierre a l'édifice ;)
            (la version payante c'est juste des supports au lieu de la version a graver sois-même et quelques paquets proprios faciles a installer via le plf : drivers nvidia et ati, en dehors y a rien d'utile que j'utilise)

            Dernier point, linux n'est pas gratuit, il est sous GPL/LGPL/BSD et un des effets collatéraux est qu'il est gratuit, mais rien n'empêche personne de le vendre.
            Enfin il est recommandé de vendre un service associé (cd/dvd, support, livret, etc), sinon tu iras pas loin ;)
          • [^] # Re: euh...

            Posté par  . Évalué à 1.


            quant à unbuntu, il me semblait qu'elle ne gère pas le compte root, et que la sécurité laisse à désirer...


            elle ne gere pas le compte root mais passe par le systeme SU et SUDO
            ce qui en somme n'est pas vraiment un probleme bien au contraire
            ca evite de travailler tout le temps en root, ce qui serait effectivement source d'insecurité.

            cependant, il suffit de mettre un mot de passe à l'utilisateur root pour que son compte soit reactivé.

            ensuite :
            le PATH ne montre pas SBIN car ce sont des commandes à reserver au root (S), donc autant ne pas s'en servir si l'on n'est pas root, de toute facons tu n'en aura probablement pas les droits.

            enfin il existe plusieurs distributions gratuites, d'autres payantes, à toi de trouver celle qui te correspond (support, media, "fraicheur")
        • [^] # Re: euh...

          Posté par  (site web personnel) . Évalué à 3.

          TROOOOLLLLLL !
      • [^] # Re: euh...

        Posté par  . Évalué à 2.

        d'où je constate qu'effectivement le $path ne renvoie pas vers cette fonction.

        Je comprends que la non inclusion provient de la volonté de ne pas "exposer"
        ces commandes. Quel est le risque: charger un module qui serait un trojan?


        Une précision importante : le fait que certaines commandes, destinées au root, n'apparaissant pas dans le path des user ordinaires n'a absolument aucun impact en terme de sécurité !

        La variable $PATH ne sert qu'à se passer du chemin complet lorsqu'on tape des commande. Par exemple, au lieu de taper "/bin/ls", on peut simplement tapper "ls" car le shell trouvera tout seul la commande dans le répertoire "/bin", qui est déclaré dans $PATH.

        Mais rien ne t'empèche de tapper des commandes qui ne sont pas dans le path, en tappant leur chemin complet, comme "/sbin/lsmod". Essaye, tu verras bien ce que ça donne.

        Par contre, des commandes comme modprobe ne mache que si elle sont lancée par le root, pour des raison de sécurité. Mais c'est le binaire qui fait cette vérification, ou parfois les droits sur les fichiers auquel accède le programme.

        Mais ce n'est en aucun cas le fait de déclarer ou non un chemin dans le path qui peut constituer une sécurité.

        Omettre les répertoires /sbin, /usr/sbin du path des users permet simplement de réduire la liste de répertoires que parcoureront les shell à la recherche de commandes. En en cas d'utilisation de la complétion, ça évite de proposer des commandes qui sont inutiles et inutilisables par des utilisateurs ordinaires.
    • [^] # Re: euh...

      Posté par  (site web personnel) . Évalué à 2.

      Pour info, si ce que tu cherche n'est pas seulement un fichier, mais une commande, un man ou un fichier système, tu as la commande whereis lsmod qui va chercher dans tous les répertoires importants du systeme.

Suivre le flux des commentaires

Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.