Sudo : Exécuter des commandes en root sans l'être
Contents
1 Introduction
Sudo est souvent utiliser et très pratique car il permet de lancer occasionnellement des commandes en root sans y être connecté. Il a plusieurs options de sécurité pour l'utilisation.
2 Installation
C'est super simple comme d'habitude :
apt-get |
apt-get install sudo |
3 Configuration
Editez le fichier /etc/sudoers puis adaptez selon vos besoin...
3.1 Donner tous les droits à une personne
Attention, cette manipe est équivalente à donner tous les droits root à une personne. Il pourra changer le mot de passe root, tout voir, tout supprimer. Si vous souhaitez donc appliquer ce type de droits ajoutez ceci :
/etc/sudoers |
username ALL=(ALL) ALL |
Remplacer username par le nom de l'utilisateur en question.
3.2 N'autoriser qu'une seule application à être lancer en root
Si par exemple un utilisateur à besoin d'être root pour effectuer une tâche récurente, que c'est (pour la plus part du temps) un script qui va tourner en fond de tâche, il ne faut alors pas qu'il y ai une demande de mot de passe, sinon il ne pourra s'exécuter. C'est pourquoi il faut faire comme ceci :
/etc/sudoers |
username ALL=NOPASSWD: /mon/script.sh |
Mettez le nom d'utilisateur au début, puis le script ou la commande que cet utilisateur aura le droit de lancer. Vous pouvez même y mettre des arguments pour focer l'utilisateur à utiliser cette commande qu'avec certains arguments.
3.3 Multi autorisations
Pour combiner des autorisation, il suffit de mettre une virgule :
/etc/sudoers |
username ALL=(ALL) ALL, NOPASSWD: /mon/script.sh |
4 Utilisation
Une fois qu'une personne possède les droits, il suffit de faire sudo, suivit de la commande :
sudo |
username@machine $ sudo /mon/script.sh |
5 Obtenir la liste des commandes dispo
Je demande ici avec l'utilisateur pmavro ses propriétés :
sudo |
$ sudo -l [sudo] password for pmavro: User pmavro may run the following commands on this host: (ALL) ALL |