La commande sudo (substitute user do ou superuser do) est un programme qui permet aux utilisateurs d'exécuter des commandes en tant qu'un autre utilisateur, par défaut le superutilisateur, c'est-à-dire root.
La commande sudo est principalement utilisée pour effectuer des tâches administratives par des utilisateurs réguliers exécutant des commandes en tant qu'utilisateur root.
Dans cet article, nous voyons comment créer un utilisateur avec des privilèges sudo sur CentOS, Ubuntu et Debian.
Prérequis
Connectez-vous en tant qu'utilisateur root ou passez à l'utilisateur root.
su -
Dans Debian/Ubuntu, installez l'application sudo à l'aide de la commande apt.
apt update apt install -y sudo
Créer un utilisateur et donner un accès sudo
Créer un utilisateur sudo
Créez un nouveau compte utilisateur pour l'accès sudo. Si vous souhaitez donner un accès sudo à un utilisateur existant, veuillez passer à l'ajout d'un utilisateur au groupe sudo.
useradd -c "sudo user" -m -d /home/user_name user_name
La commande ci-dessus crée un utilisateur appelé user_name avec le répertoire personnel /home/user_home et un commentaire en tant qu'utilisateur sudo.
Remplacez user_name par le nom d'utilisateur que vous souhaitez créer.
Définir le mot de passe
Définissez le mot de passe du nouveau compte utilisateur.
passwd user_name
Ajouter un utilisateur au groupe sudo
Les membres du groupe wheel sur CentOS et sudo sur Ubuntu/Debian sont autorisés à exécuter des commandes avec sudo. Utilisez la commande usermod pour ajouter un compte d'utilisateur au groupe respectif.
CentOS
usermod -aG wheel user_name
Ubuntu / Debian
usermod -aG sudo user_name
Tester l'accès sudo
Passez à l'utilisateur nouvellement créé.
su -l user_name
Vérifiez que l'accès sudo fonctionne comme prévu
sudo -l
Il vous sera demandé de saisir le mot de passe de l'utilisateur la première fois que vous utiliserez sudo dans une session.
Sortie :
Matching Defaults entries for user_name on server: !visiblepw, always_set_home, match_group_by_gid, env_reset, env_keep="COLORS DISPLAY HOSTNAME HISTSIZE KDEDIR LS_COLORS", env_keep+="MAIL PS1 PS2 QTDIR USERNAME LANG LC_ADDRESS LC_CTYPE", env_keep+="LC_COLLATE LC_IDENTIFICATION LC_MEASUREMENT LC_MESSAGES", env_keep+="LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER LC_TELEPHONE", env_keep+="LC_TIME LC_ALL LANGUAGE LINGUAS _XKB_CHARSET XAUTHORITY", secure_path=/sbin\:/bin\:/usr/sbin\:/usr/bin User user_name may run the following commands on server: (ALL) ALL
La sortie ci-dessus confirme que l'utilisateur user_name peut exécuter n'importe quelle commande en tant qu'utilisateur root.
Utiliser sudo
Pour exécuter une commande avec les privilèges sudo, préfixez simplement sudo dans votre commande.
Syntaxe :
sudo your_command
Exemple :
sudo blkid
Il vous sera demandé de saisir le mot de passe de l'utilisateur la première fois que vous utiliserez sudo dans une session.
Sortie :
/dev/sda1: UUID="60a496d0-69f4-4355-aef0-c31d688dda1b" TYPE="xfs" /dev/sda2: UUID="Q9pSx3-bNi4-88ah-1Wa5-jLLs-7POm-ytlfUr" TYPE="LVM2_member" /dev/mapper/centos-root: UUID="63e5ad04-38ef-4ce2-857b-0197cdb7d582" TYPE="xfs" /dev/mapper/centos-swap: UUID="68cb3801-13e8-47da-bbfa-8389aab3836b" TYPE="swap" /dev/mapper/centos-home: UUID="187abb36-b5b3-48cd-8cbb-baad6dbb0dc5" TYPE="xfs"
Conclusion
C'est tout. Vous avez appris à créer un utilisateur avec des privilèges sudo sous Linux. Maintenant, vous pourrez exécuter les commandes administratives de root avec ce nouvel utilisateur. Veuillez fournir vos commentaires dans la section des commentaires.