tutoriel sur sudo par Michael Bideau et Richard Demongeot


Installation de sudo sous Debian

sudo est une application permettant d'exécuter une commande sous une
autre identitée sans se reloguer et sans connaitre le mot de passe
de l'autre compte.

Exemple :

* pour redemarrer la machine en mode console, un simple
"sudo reboot" sufit la ou precedemment il fallait passer en root,
puis faire un reboot.

* Pour mettre a jour la liste des paquets disponibles :
"sudo apt-get update"

* pour mettre a jour le systeme :
"sudo apt-get upgrade" ou "sudo apt-get dist-upgrade"

Afin de réaliser un tuto de la meilleurs qualité qu'ils soit
Nous nous sommes inspirés d'un autre tuto déjà bien complet



Le tuto (aussi détaillé soit-il) ne dispense pas
de la lecture des infos/questions affichées à l'écran

On considere les droits root aquis pour la suite du tuto.

Installation de sudo (debian)

-> Mettez à jour la liste des paquets disponibles
apt-get update

-> Installez sudo
apt-get install sudo

Pas de validation (sudo fonctionne tout seul, sans être dépendant d'autres
librairies / applications).

Configuration de sudo

-> Tout se passe dans le fichier /etc/sudoers.

-> Ce fichier se decompose en 4 parties :

A/ Host alias specification
Utile uniquement pour des parcs de serveurs ou le fichier sudoers sera repliqué
(avec des droits spécifiques selon la machine)

L'hôte se définit par le nom de serveur, l'adresse IP, une plage d'IP.
MACHINE_PERSO=serveur,192.168.1.3,192.168.0.0/255.255.255.0

B/ User alias specification
Cette section permet de définir des groupes d'utilisateurs afin de ne pas
créer une règle par utilisateur.

Par exemple, un groupe "PROF" qui contiens les profs et un groupe "ELEVE",
chacun de ces deux groupes ayant plus ou moins de droits root.

Pour ce faire, c'est les lignes :
User_Alias PROF=prof1,prof2
User_Alias ELEVE=eleve1,eleve2

C/ Cmnd alias specification
Dans le meme genre que la section précèdente, ce bloc permet de faire des
groupes de commandes. Par exemple, le groupe POWER qui contient halt et reboot.

Cmnd_Alias POWER=/sbin/halt,/sbin/reboot

D/ User previlege specification
Ceci est la section qui contrôle réellement les droits.

Syntaxe :
user host=(new_user) [NOPASSWD:]cmd
user = Utilisateur (ou groupe)
host = Machine (ou groupe)
new_user = Utilisateur à remplacer -- facultatif car par defaut root.
NOPASSWD : ne demande pas le mot de passe pour cette commande.
cmd = commande (ou groupe)

Il y as une ligne déjà présente,
root ALL=(ALL) ALL
donc cela donne :
l'utilisateur "root" sur la machine "ALL" donc sur toutes les machines
a le droit d'éxécuter en tant que ALL donc n'importe qui la commande ALL
donc toutes les commandes.

Pour avoir les droits de rebooter les machines pour les profs, la ligne
serait donc :
PROF ALL=POWER (commande root)

Pour que l'utilisateur michael ait les droit de l'utilisateur richard, la
commande serait :
michael MACHINE_PERSO=(richard) ALL

Autorisez aux élèves la commande permettant de relancer le serveur Web
sans mot de passe serais :

ELEVE ALL=NOPASSWD:/etc/init.d/apache2 restart



La suite des possibilitées de sudo (nombreuses) seront dévellopées
ultérieurement.


[FIN]