Comment attribuer les droits root sous linux ?
Il peut nécessaire pour diverses raisons d’attribuer temporairement ou non des droits root à un utilisateur, ce tutoriel explique ce principe.
Pré-requis : Sudo et Vim
Afin de procéder à cette modification de droits utilisateurs, votre système doit disposer les outils sudo et vim :
apt-get install sudo apt-get install vim
Si besoin, la désinstalation s’effectuera de la manière suivante :
apt-get remove sudo
Configuration sudoers
La configuration de sudoers s’effectuent en éditant le fichier /etc/sudoers via la commande :
visudo -c # This file MUST be edited with the 'visudo' command as root. # Please consider adding local content in /etc/sudoers.d/ instead of # directly modifying this file. # See the man page for details on how to write a sudoers file. Defaults env_reset Defaults mail_badpass Defaults secure_path="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin" # Host alias specification # User alias specification # Cmnd alias specification # User privilege specification root ALL=(ALL) ALL
On remarquera les 4 entités suivantes :
Entité définissant des groupes d’hosts.
Entité définissant des alias pour les utilisateurs à l’on va octroyer des droits.
Entité définissant des alias de commandes.
Entité définissant les utilisateurs et les droits octroyés, l’utilisateur root est présent par défaut.
Détaillons un peu l’utilisateur root :
Le 1er ALL correspond à l’utilisateur ou User_Alias à qui on attribue les droits.
Le 2ème ALL correspond à l’utilisateur à qui root copie les droits.
Le 3ème ALL correspond aux commandes Cmnd_Alias autorisées.
Nous allons maintenant mettre en place 3 utilisateurs dans un User alias, créer un alias de commande Cmnd alias (le listing est visible dans l’arborescence /usr/bin):
visudo -c # User alias specification User_Alias AUTHORIZE_USER=user1,user2,user3 # Cmnd alias specification Cmnd_Alias AUTHORIZE_CMD=/usr/bin/apt-get,/bin/ping # User privilege specification root ALL=(ALL) ALL AUTHORIZE_USER ALL=(ALL) AUTHORIZE_CMD
Utilisation de sudo
Nous pouvons maintenant utiliser les commandes autorisés précédé de sudo ou non avec les 3 utilisateurs ayant le droit précédemment configuré :
/home/user1 ~ > sudo apt-get install apache2 -s [sudo] password for user1:
Il est possible de retirer la demande de mot de passe en configurant votre utilisateur de la manière suivante :
visudo -c user4 ALL=(ALL) NOPASSWD:ALL