Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).


L'icône rouge permet de télécharger chaque page du wiki visitée au format PDF et la grise au format ODT → ODT PDF Export

sudo

Important

ATTENTION !

Il est déconseillé d'utiliser sudo inconsidérément sans en remanier la configuration par défaut.

Exemple :

  • Si on fait un sudo dans un terminal et qu'on en ouvre un autre, le mot de passe est bien demandé.
  • Si on fait un sudo dans un terminal où on donne le mot de passe,
    1. qu'on le ferme
    2. qu'on en ouvre un de nouveau… le mot de passe n'est plus demandé !

Pour éviter cet inconvénient, porte ouverte à l'infection par des virus et des vers, veillez à configurer votre sudo selon le paragraphe : Configuration de sécurité élémentaire

De toute façon mieux vaut privilégier la commande su chaque fois que cela est possible !

Introduction

Voilà un logiciel permettant de lancer des commandes root en maintenant un terminal user ouvert.

Installation

apt-get update && apt-get install sudo

Si vous avez plus simple, faite-le savoir ! ;-)

Configuration de sudo - visudo

Passer obligatoirement par la commande visudo pour configurer sudo. L'utilitaire visudo vérifie la syntaxe du fichier /etc/sudoers avant d'enregistrer celui-ci.

Taper :

visudo

Configuration de sécurité élémentaire

Droits d'exécution à une seule commande

Sous la ligne :

 Defaults env_reset

Ajoutez :

Defaults        timestamp_timeout=0

En mettant le timeout à 0, les droits root ne seront plus utilisables dès que vous aurez validé l'exécution de votre commande.

Droits d'exécution à un seul user

Pour réserver l'utilisation de sudo à mon_nom seulement, écrivez :

 Defaults:mon_nom tty_tickets

Où mon_nom est le nom que vous utilisez pour vous connecter à votre session.

Ainsi, pour un seul utilisateur, il n'est pas nécessaire d'intégrer ce dernier dans le groupe sudo

Merci à Asmodée pour cette indication précise ! :-D

DÉCONSEILLÉ :
Si vous voulez ouvrir les droits de sudo pour plusieurs utilisateurs sans les énumérer ici, écrivez :

Defaults:All tty_tickets

sudo UN SEUL utilisateur AVEC mot de passwd demandé

C'est la configuration préconisée pour tous les utilisateurs de sudo débutant.

Sous la ligne :

 root    ALL=(ALL:ALL) ALL

écrivez :

 badaboum ALL=(ALL:ALL) ALL

(badaboum illustrant ici votre nom d'utilisateur mon_nom, par exemple…)

Ainsi, badaboum sera le seul utilisateur autorisé à se servir de la commande sudo dans un terminal.

Test de la configuration modifiée :

Tapez une commande root comme celle-ci par exemple :

sudo fdisk -l

Le mot de passe de l'user sera alors demandé et non plus celui de root :

 [sudo] password for badaboum: <//Taper ici le passwd de cet user//>

Et la commande s'exécute !

UN SEUL utilisateur SANS mot de passwd demandé

Ceci est une utilisation réservée :

  • aux machines non connectées sur la toile ou dont le serveur proxy intermédiaire est configuré soigneusement par un EXPERT.
  • aux EXPERTS, sachant protéger leurs machines par des configurations personnelles en amont.
  • aux EXPERTS couvrant des tâches d'Administration exigeant l'usage du super-utilisateur et non de root. Un usage particulier de KVM - Fork de Qemu par exemple…

voir : iptable et autres sécurités évoluées.

Sous la ligne root ALL=(ALL) ALL, écrivez seulement :

 badaboum ALL=NOPASSWD: ALL

(badaboum étant votre nom d'utilisateur mon_nom, par exemple…)

Si vous utilisez la branche testing, soit Wheezy, ou bien Sid, veuillez tenir compte de la modification mentionné plus haut

À partir de maintenant, vous pouvez quitter le shell root et faire le reste sous votre nom avec sudo sans plus taper de mot de passe.

Exemple :

Tapez une commande root mais sous votre user ainsi :

sudo fdisk -l

Et la commande s'exécute sans demande de passwd !

Configuration pour plusieurs utilisateurs

PLUSIEURS utilisateur AVEC mot de passwd demandé

Sous la ligne :

 Defaults env_reset

Décommentez (ou rédigez) cette commande :

%sudo	ALL=(ALL:ALL) ALL

Il vous sera alors possible d'ajouter chaque utilisateur que vous voulez au groupe sudo pour leur faire partager les droits sudo.

Mettons que vous ayez un pote… un vrai hein… nommé ploumploum par exemple. Pour l'ajouter à la commande sudo, il suffira de taper :

adduser ploumploum sudo

Et il y sera pareillement maintenant !

On met la petite soeurette tagada ?
Alors on le fait ainsi :

adduser tagada sudo

Je vous laisse ajouter l'user tsointsoin si vous le voulez bien… ;-)

Ce tuto est illustré sous la célèbre musique du captnfab :

 ploumploum badaboum tagada tsointsoin...

Tchibâââ ! :-D

sudo PLUSIEURS utilisateurs SANS mot de passwd demandé

Bien que possible, il n'est absolument pas recommandé d'offrir les droits root automatiquement et sans mot de passwd à tous les utilisateurs.

Utilisation de SUDO

Il est ainsi possible d'accomplir :

  • Moultes configurations de votre système sans maintenir un terminal root permanent.
  • De préserver ainsi une certaine sécurité en n'opérant pas de commande accidentelle sous root, la demande de mot de passe servant de rattrape-couillonnade…

Il est à noter que si toutes les opérations d'administrations peuvent se faire sous sudo, le passage par su option trait (-) est plus confortable pour des opérations multiples et longues à s'effectuer.

Merci à Y316 pour sa relecture des tutos et la pertinence de ses interrogations postés sur le forum concernant la terminologie de ceux-ci. ;-)

Exemple

On veut donner à deux utilisateurs le droit d'installer/enlever des paquets et de pouvoir éteindre/redémarrer le système.

Le fichier /etc/sudoers ci-dessous n'est pas complet. Seul les éléments illustrant cet exemple ont été mis en évidence.

Pour ce faire, on éditera le fichier /etc/sudoers ainsi :

visudo
#
# This file MUST be edited with the 'visudo' command as root.
#
# See the man page for details on how to write a sudoers file.
#

Defaults        env_reset

# Définition d'un Alias pour deux utilisateurs
User_Alias      MESADMINS = jojo,zozo

# Définition de deux Alias de commandes
Cmnd_Alias      ETEINDRE = /sbin/shutdown, /sbin/reboot, /sbin/halt
Cmnd_Alias      PAQUETS = /usr/bin/dpkg, /usr/bin/apt-get, /usr/bin/aptitude

# Les utilisateurs faisant partie de l'Alias MESADMINS peuvent installer/enlever des paquets et
# redémarrer/éteindre le système.
MESADMINS ALL = ETEINDRE, PAQUETS

Lien et remerciements

Depuis le tuto de captnfab, là:

http://wiki.chezlefab.net/tuto_nix/installation_squeeze#rompre_la_rootine

nôtre 'pitaine au long cours préféré sur DF !

Vous l'auriez trouvé vous : “Rompre la rootine” ?

- Tant de poësie émeut…

Référence

1) N'hésitez pas à y faire part de vos remarques, succès, améliorations ou échecs !
doc/systeme/sudo.txt · Dernière modification: 06/09/2015 14:53 par smolski

Pied de page des forums

Propulsé par FluxBB