Accueil > Informatique > Obtenir (temporairement) les droits root pour un simple utilisateur avec Fedora

Obtenir (temporairement) les droits root pour un simple utilisateur avec Fedora

Lorsqu’on travaille en mode console, il est toujours délicat de travailler avec le super-utilisateur root. Pas bien réveillé et un petit rm -rf nous conduit directement à la catastrophe. La solution est donc de se connecter en utilisateur normal et au besoin d’utiliser la commande sudo pour lancer une commande en tant que super-utilisateur.

Contrairement à d’autres distributions (comme Ubuntu), il faut effectuer quelques manipulations avant de pouvoir être opérationnel. Le fichier qui gère les utilisateurs pouvant exécuter des commandes super-utilisateur est /etc/sudoers.

Evidemment, il faut être connecté en root pour les opérations suivantes :

On met les droits d’écriture sur le fichier :
chmod +w /etc/sudoers

On ajoute l’utilisateur dans ce fichier. loginname est le nom de l’utilisateur que vous souhaitez autoriser.
echo 'loginname ALL=(ALL) ALL' >> /etc/sudoers

On remet tout dans l’état initial :
chmod -w /etc/sudoers

Le mot de passe qui sera demandé lors de l’exécution de la commande sudo est celui de l’utilisateur (et pas celui de root).

Si vous ne souhaitez pas qu’un mot de passe soit demandé, alors il faut faire :
echo 'loginname ALL=(ALL) NOPASSWD:ALL' >> /etc/sudoers

Categories: Informatique Tags: .: Fedora
  1. Olivier
    24/11/2008 à 23:09 | #1

    Je ne sais pas ce qu’il en est sous Fedora (je pense que ça existe), mais il est préférable d’utiliser des programmes tels que visudo. C’est moins bidouille + command line et c’est fait pour 😉

    ++

  2. 24/11/2008 à 23:11 | #2

    Ou alors on réfléchit et on utilise la commande adéquate : « su – » puis « visudo ».

    Bien moins dangereux que des echo + redirection dans un fichier (d’ailleurs pourquoi faire un CHMOD +W pour pouvoir écrire en root ?), visudo et la seule et unique façon de configurer correctement le fichier sudoers…

  3. Marco
    24/11/2008 à 23:28 | #3

    Ok merci pour les commentaires… Effectivement c’est bien moins « bidouille ».

  4. 25/11/2008 à 15:52 | #4

    C’est pas moins « bidouille », c’est juste la méthode.

    En plus, ajouter un « ALL » :-/

    La tu donnes tous les droits à ton utilisateur. Tu tombes donc dans le travers d’une Ubuntu. On peut discuter de l’intérêt de la chose, là n’est pas la question.

    Mais ne mets pas de « NOPASSWD »! Tu es en train de transformer ton utilisateur en root!

    C’est vraiment dommage…

    Sudo est un excellent outil, mais il ne faut pas en faire n’importe quoi. Si tu veux prendre des droits temporairement, sans te prendre la tête avec le sudoers, utilise:
    su -lc ‘ta commande’

    Le ‘-c’ permet d’exécuter la commande spécifiée par la suite avec les droits pris (root si aucun utilisateur spécifié) et uniquement celle-ci.

  5. Olivier
    25/11/2008 à 19:59 | #5

    @bocheda > avec su -c, tu as besoin du mot de passe root, alors sudo, tu donnes des droits spécifiques à ton utilisateur mais tu n’as pas besoin du pass root, je ne vois pas vraiment l’interêt d’un su -c par rapport à un su – à part le fait d’avoir à se déconnecter du compte root. Avec sudo/visudo, on est isolé de root. Après je suis d’accord que le ALL + NOPASSWD c’est un poil « violent ».

  6. 27/11/2008 à 14:08 | #6

    Sympa ce petit débat technique 🙂

  1. Pas encore de trackbacks