Forum Linux.débutant sudoers

Posté par  . Licence CC By‑SA.
Étiquettes : aucune
2
18
août
2021

Bonjour la commu,

Je tiens à dire que je suis new dans le monde libre de l'open source du coup j'en suis désolé si ma question parait débile pour vous !
Alors j'expose mon problème je souhaite autoriser mes utilisateurs à utiliser sudo, mais je ne veux pas qu'ils puissent reboot ou shutdowm la machine
et les commandes que j'ai trouvées sur le net ne fonctionne pas du coup est-ce que c'est possible et si oui comment je sais que je m'y prends mal Voila !
Merci,

## Read drop-in files from /etc/sudoers.d (the # here does not mean a comment)
#includedir /etc/sudoers.d
t001533 ALL=(ALL:ALL) ALL !/sbin/reboot, /sbin/shutdowm
t001534 ALL=(ALL:ALL) ALL !/sbin/reboot, /sbin/shutdowm
t001535 ALL=(ALL:ALL) ALL !/sbin/reboot, /sbin/shutdowm

Voici l'erreur que j'ai.

>>> /etc/sudoers: erreur de syntaxe near line 131 <<<
 Et maintenant ?

Du coup je l'écris mal, mais je ne sais pas comment l'écrire
Merci

  • # ne pas utiliser ALL

    Posté par  . Évalué à 5.

    Utiliser ALL avec une blacklist de commandes n'est pas une bonne idée je pense. Même si ta syntaxe est correcte, un utilisateur pourra toujours créer un script qui fait un shutdown, le nommer toto.sh et lancer "sudo toto.sh"

    Désolé, ça ne réponds pas à ta question, mais du coup ça t'oriente plutôt vers une solution à base de whitelist. Si c'est applicable dans ton cas bien sur.

    • [^] # Re: ne pas utiliser ALL

      Posté par  . Évalué à 3.

      sinon j'ai l'impression qu'il manque une virgule après ton dernier ALL sur chaque ligne (j'ai pas testé, je suis juste allé chercher des exemples sur le web)

      • [^] # Re: ne pas utiliser ALL

        Posté par  . Évalué à 1.

        Ah bien joué!!!
        J'ai plus d'erreur de syntaxe avec la , il me rester a tester un script pour voir.
        Merci.

    • [^] # Re: ne pas utiliser ALL

      Posté par  . Évalué à 1.

      D'accord,

      Je vais chercher du côté des whitelist!

      Merci,

    • [^] # Re: ne pas utiliser ALL

      Posté par  . Évalué à 2. Dernière modification le 18/08/21 à 11:42.

      Je plussoie.
      Non seulement c'est très facilement contournable, il suffit de faire sudo -i puis shutdown
      Mais en plus, sur les distributions utilisant systemd, shutdown, et reboot ne sont que des liens symboliques qui pointent vers [/usr]/bin/systemctl

    • [^] # Re: ne pas utiliser ALL

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

      Utiliser ALL avec une blacklist de commandes n'est pas une bonne idée je pense.

      Effectivement, c'est une très mauvaise idée, expliquée par M. W. Lucas dans sa conférence "Sudo: You're Doing it Wrong".

      En résumé :

      • sudo m'interdit l'usage de la commande /sbin/shutdown
      • je copie le fichier /sbin/shutdown dans mon répertoire personnel (il n'y a potentiellement rien qui m'en empêche)
      • je lance la commande "sudo ./shutdown"
      • le serveur s'éteint, comme prévu

      Morale de l'histoire : ne jamais définir de politique avec sudo à base d'interdiction, uniquement à base d'autorisation.

      Pour les personnes souhaitant en savoir plus sur sudo, le même M. W. Lucas à écrit un livre sur le sujet : Sudo Mastery, 2nd Edition.

      • [^] # Re: ne pas utiliser ALL

        Posté par  . Évalué à 7.

        Pas besoin de copier la commande, il suffit de faire sudo /sbin/./shutdown et ça passera ;-)

        • [^] # Re: ne pas utiliser ALL

          Posté par  . Évalué à 1.

          Ou sudo /sbin/[s]hutdown par exemple. Trop de façons de contourner possibles.

          “It is seldom that liberty of any kind is lost all at once.” ― David Hume

          • [^] # Re: ne pas utiliser ALL

            Posté par  . Évalué à 2.

            Mauvais exemple, c'est le shell qui va résoudre le glob (si le fichier existe), et sudo verra /sbin/shutdown

  • # /sbin/shutdown

    Posté par  . Évalué à 2.

    au lieu de shutdowm ?

    • [^] # Re: /sbin/shutdown

      Posté par  . Évalué à 1.

      Oui,

      Je vais tester les deux et prendre le plus sécu!

      • [^] # Re: /sbin/shutdown

        Posté par  . Évalué à 2.

        C'est surtout qu'à ma connaissance, sans vouloir dire de bêtise, il n'y a pas de commande "shutdowm"
        C'est "shutdown", avec un N, la bonne syntaxe.

  • # molly-guard

    Posté par  . Évalué à 2. Dernière modification le 18/08/21 à 21:21.

    Si tu veux empêcher un reboot ou un shutdown accidentel, tu peux utiliser: molly-guard.

    C'est un programme qui te demandera de confirmer le nom de la machine utilisée quand tu veux reboot ou shutdown.

    Liens vers un article:
    https://www.nicolashug.dev/post/molly-guard-proteger-son-serveur-de-lextinction-du-redemarrage-accidentel/

    • [^] # Re: molly-guard

      Posté par  . Évalué à 2.

      ce qui du coup n'empêchera pas l'utilisateur Dupont (qui connait la machine, et qui NE doit PAS avoir le droit de faire redémarrer la machine) de le faire.

      Mollyguard permet juste d'avoir une confirmation que l'on veut bien arrêter la machine,
      pour éviter de faire un arrêt par "erreur"

      • [^] # Re: molly-guard

        Posté par  . Évalué à 0.

        Pour le moment je suis sur user ALL=(ALL:ALL) ALL, !/sbin/reboot
        ça fonctionne

        • [^] # Re: molly-guard

          Posté par  . Évalué à 3.

          ca empêche l'utilisateur de faire /sbin/reboot
          ou ca lui demande juste de confirmer le nom de la machine ?

          et si l'utilisateur fait sudo -i (donc devient root) et fait ensuite /sbin/reboot ?

  • # Remplacer sudo by doas

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

    Bonjour,

    si le paquet doas est disponible, il est plus facile à configurer que sudo.
    Il est aussi moins sujet aux failles de sécurités, parce que son code est plus simple.

    Pourquoi bloquer la publicité et les traqueurs : https://greboca.com/Pourquoi-bloquer-la-publicite-et-les-traqueurs.html

    • [^] # Re: Remplacer sudo by doas

      Posté par  . Évalué à 1.

      Bonjour,

      Il faut que je regarde je ne connais pas doas, mais merci

      • [^] # Re: Remplacer sudo by doas

        Posté par  . Évalué à 7.

        doas ou sudo on s'en fout. Une politique de sécurité via l'exclusion ne fonctionne pas car il y a mille manières de contourner.

        Seules les autorisations strictes et détaillées fonctionnent.

Suivre le flux des commentaires

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