Forum Linux.débutant exécuter toutes les commandes Root étant User:quel intérêt?

Posté par  . Licence CC By‑SA.
2
8
oct.
2020

bonjour,

Après avoir suivi un cours de sécurité récapitulatif et de débutant sur les droits dans Linux,le professeur nous explique qu'il y a des commandes qui peuvent s'exécuter seulement quand on est root.
Il trouve le chemin de cette commande et montre que quand on est user,cette commande est introuvable.Il suffit alors,étant user,de non pas taper cette commande mais le chemin de la commande pour qu'elle s'exécute.
(Oui,le contenu de la variable PATH est différent selon qu'on soit root ou user)

Ma question naïve vient de suite:
A quoi ça sert de cacher à User des commandes seulement accessibles par Root si étant User elles peuvent quand même s'exécuter bien que + difficilement?

Je connais les droits sous Linux mais là j'ai du louper un truc que j'aimerais bien qu'on m'explique!

merci de votre aide

  • # Pas une histoire de secret

    Posté par  . Évalué à 6.

    Salut,

    La raison n'est en rien de les cacher mais plutôt de dire "il faut les droits root pour que ça fonctionne bien, donc ça sert à rien qu'ils soient dans ton PATH, tu n'en feras rien". En effet, les outils qui sont dans sbin sont des outils système et sans les droits root, fdisk ne fdiskera pas, fsck ne fsckera pas, groupadd ne… enfin t'as compris quoi :)

    En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Pas une histoire de secret

      Posté par  . Évalué à -4.

      autres questions basiques:
      1)si les droits d'un fichier se présentent comme cela:
      -rwx------ patrick groupe_de_patrick
      le propriétaire de ce fichier est patrick et le groupe est groupe_de_patrick

      la commande :
      sudo chown : root chemin_du_fichier
      est-elle la bonne pour avoir:
      -rwx------ root root

      ?

      2)qui dit propriétaire root implique automatiquement groupe root?

      3)
      a)si j'ai:
      -rwx------ patrick groupe_de_patrick
      me mettant root puis-je lire,écrire et exécuter le fichier?

      b)si j'ai:
      -rwx---rwx patrick groupe_de_patrick
      me mettant root puis-je lire,écrire et exécuter le fichier?

      c)si j'ai:
      -------rwx patrick groupe_de_patrick
      me mettant root puis-je lire,écrire et exécuter le fichier?

      • [^] # Re: Pas une histoire de secret

        Posté par  . Évalué à 2. Dernière modification le 09/10/20 à 10:45.

        autres questions basiques:
        1)si les droits d'un fichier se présentent comme cela:
        -rwx------ patrick groupe_de_patrick
        le propriétaire de ce fichier est patrick et le groupe est groupe_de_patrick

        la commande :
        sudo chown : root chemin_du_fichier
        est-elle la bonne pour avoir:
        -rwx------ root root

        ?

        moi je tapes sudo chown root:root (premier mot = user, 2e mot = groupe)

        2)qui dit propriétaire root implique automatiquement groupe root?

        non. par exemple les devices de /dev sont souvent en propriétaire root et un groupe dédié au type de périphérique (disk, audio…). ainsi root reste propriétaire de la carte son, mais en me donnant les droits audio j'ai également en tant que utilisateur le droit d'aller y taper dedans directement.

        3)
        a)si j'ai:
        -rwx------ patrick groupe_de_patrick
        me mettant root puis-je lire,écrire et exécuter le fichier?

        non parce que root étant ni patrick ni dans le groupe de patrick, il est others. il n'a donc pas le droit de lire, écrire ni d'exécuter

        EDIT suite au commentaire de kosnik : en fait si, root a la particularité de pouvoir le faire quand même.

        b)si j'ai:
        -rwx---rwx patrick groupe_de_patrick
        me mettant root puis-je lire,écrire et exécuter le fichier?

        oui parce que root étant ni patrick ni dans le groupe de patrick, il est others. il a donc le droit de lire, écrire et exécuter

        c)si j'ai:
        -------rwx patrick groupe_de_patrick
        me mettant root puis-je lire,écrire et exécuter le fichier?

        oui parce que root étant ni patrick ni dans le groupe de patrick, il est others. il a le droit de lire, écrire et exécuter

        En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

        • [^] # Re: Pas une histoire de secret

          Posté par  . Évalué à 2.

          En théorie, je suis d'accord avec toi, mais en pratique utilisé root dans l'example est un mauvais exemple, car root à tous les droits.

          • [^] # Re: Pas une histoire de secret

            Posté par  . Évalué à 2. Dernière modification le 09/10/20 à 10:45.

            car root à tous les droits.

            ah bin mince, anéfé tu as raison (j'étais persuadé du contraire).

            root peut lire et écrire (mais pas exécuter en fait) un fichier en 000 (exemple extrême).

            En théorie, la théorie et la pratique c'est pareil. En pratique c'est pas vrai.

    • [^] # Re: Pas une histoire de secret

      Posté par  (site Web personnel) . Évalué à 6.

      En fait certains outils dans sbin peuvent être lancé par des utilisateurs normaux (mais sans pouvoir tout faire). Je pense notamment à ifconfig et son successeur ip (mais y en a d'autres, c'est juste l'exemple qui me vient à l'esprit car je l'utilise souvent). Ensuite si on est root, ces outils permettent plus de choses (accès à la modification de config des interfaces réseau).
      Mais c'est vrai qu'énormément d'autres outils présents dans sbin ne feront rien du tout sans être root.

      L'ajout de sbin dans le PATH est d'ailleurs fait par défaut dans certaines distributions (même pour des users non-root), et pas dans d'autres (mais il suffit soit de mettre le chemin complet, comme indiqué par tolemarf, soit d'éditer son PATH soi-même). Il n'y a pas de règle universelle. D'ailleurs il me semble même que certaines distributions poussent à fusionner bin et sbin (de même qu'il y a des actions en cours pour fusionner / et /usr/ dans pas mal de distributions également), justement à cause de la complexité de savoir où est quoi avec des règles pas toujours claires (puisqu'on le voyait, un outil peut être accessible à tous, mais juste donner des pouvoirs différents selon l'utilisateur). On verra comment tout ça évoluera.

      En tous les cas, comme le dit gUI, ça n'a rien à voir avec de la sécurité. La limitation des commandes système est implémentées par les droits divers sur les fichiers (permissions, propriétaire/groupe, ACL, sudo, ou tout autre configuration système ou spécifique), pas par leur chemin d'accès. Le chemin d'accès n'est qu'une question d'organisation et de praticité.

      Film d'animation libre en CC by-sa/Art Libre, fait avec GIMP et autre logiciels libres: ZeMarmot [ http://film.zemarmot.net ]

      • [^] # Re: Pas une histoire de secret

        Posté par  . Évalué à 3.

        Exact, ifconfig n'est pas dans le PATH d'un utilisateur lambda de Debian, mais il l'est dans celui d'un utilisateur Ubuntu par exemple (la dernière fois que j'ai essayé).
        Plus important que le PATH, c'est la gestion des permissions, le contrôle du UID/GID par l'application, etc.
        Accessible par défaut ou pas, M. Lambda ne pourra pas faire la même chose que root.

Suivre le flux des commentaires

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