linux Tutoriaux data-src-img=

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