======sudo====== **sudo** est un utilitaire qui permet d'exécuter une commande sous un autre utilisateur de la machine. Installation : aptitude install sudo Par défaut, sous Debian, on a ce genre de configuration : cat /etc/sudoers [..] # Allow members of group sudo to execute any command %sudo ALL=(ALL:ALL) ALL ... qui permet à tout utilisateur membre du groupe sudo de lancer des commandes en tant que root (en re-saisissant son mot de passe) ainsi : ''sudo ''. Attention : il faut toujours utiliser la commande **visudo** pour éditer la configuration de sudo, sous peine de bloquer le système en cas d'erreur de syntaxe ! Exemple de configuration : vi /etc/sudoers/apache # permettre a l'utilisateur apache de lancer s1 et s2 en tant que admin, # à partir de n'importe quelle machine (ALL) et sans saisir de mot de passe Cmnd_Alias HTTP_SCRIPTS = /scripts/s1.sh, /scripts/s2.sh apache ALL=(admin)NOPASSWD: HTTP_SCRIPTS Les différentes options / cas d'utilisation : # lancer une commande en tant que admin sudo -u admin # lancer une commande en tant que root sudo # se connecter (obtenir un shell) en tant que root sudo -i # afficher les droits sudo de l'utilisateur apache sudo -l -U apache ======Tips====== =====Lancer plusieurs commandes===== Pour lancer plusieurs commandes avec un seul ''sudo'' : sudo -s -- 'whoami; whoami' root root # La précédente option "-s" ne fonctionne pas toujours ; # en alternative, lancer un shell qui exécute les commandes : sudo -- sh -c 'whoami; whoami' root root =====Demander le mot de passe root===== Par défaut un utilisateur doit saisir son propre mot de passe pour lancer une commande comme root (à condition qu'il en ait le droit !) ; pour lui demander de saisir le mot de passe root il faut ajouter la ligne de configuration suivante (avec ''visudo'') : Defaults:toto rootpw toto ALL=(ALL:ALL) ALL :x # -> toto@srv $ sudo -i [sudo] password for root: root@srv #