GNU/Linux >> Tutoriels Linux >  >> Linux

Commande Sudo sous Linux

La commande sudo vous permet d'exécuter des programmes en tant qu'autre utilisateur, par défaut l'utilisateur root. Si vous passez beaucoup de temps sur la ligne de commande, sudo est l'une des commandes que vous utiliserez assez fréquemment.

L'utilisation de sudo au lieu de se connecter en tant que root est plus sécurisée car vous pouvez accorder des privilèges administratifs limités à des utilisateurs individuels sans qu'ils connaissent le mot de passe root.

Dans ce tutoriel, nous allons vous expliquer comment utiliser le sudo commande.

Installation de Sudo (commande sudo introuvable) #

Le package sudo est préinstallé sur la plupart des distributions Linux.

Pour vérifier si le package sudo est installé sur votre système, ouvrez votre console, tapez sudo , et appuyez sur Enter . Si vous avez sudo installé le système, affichera un court message d'aide. Sinon, vous verrez quelque chose comme sudo command not found .

Si sudo n'est pas installé, vous pouvez facilement l'installer à l'aide du gestionnaire de packages de votre distribution.

Installer Sudo sur Ubuntu et Debian #

apt install sudo

Installer Sudo sur CentOS et Fedora #

yum install sudo

Ajout d'un utilisateur à Sudoers #

Par défaut, sur la plupart des distributions Linux, accorder l'accès sudo est aussi simple que d'ajouter l'utilisateur au groupe sudo défini dans le sudoers dossier. Les membres de ce groupe pourront exécuter n'importe quelle commande en tant que root. Le nom du groupe peut différer d'une distribution à l'autre.

Sur les distributions basées sur RedHat telles que CentOS et Fedora, le nom du groupe sudo est wheel . Pour ajouter l'utilisateur au groupe, exécutez :

usermod -aG wheel username

Sur Debian, Ubuntu et leurs dérivés, les membres du groupe sudo bénéficient d'un accès sudo :

usermod -aG sudo username

Le compte d'utilisateur root dans Ubuntu est désactivé par défaut pour des raisons de sécurité, et les utilisateurs sont encouragés à effectuer des tâches d'administration système à l'aide de sudo. L'utilisateur initial créé par le programme d'installation d'Ubuntu est déjà membre du groupe sudo. Par conséquent, si vous utilisez Ubuntu, il est probable que l'utilisateur sous lequel vous êtes connecté dispose déjà des privilèges sudo.

Pour autoriser un utilisateur spécifique à exécuter uniquement certains programmes en tant que sudo, au lieu d'ajouter l'utilisateur au groupe sudo, ajoutez les utilisateurs aux sudoers fichier.

Par exemple, pour autoriser l'utilisateur linuxize pour exécuter uniquement le mkdir commande en tant que sudo, tapez :

sudo visudo

et ajoutez la ligne suivante :

linuxize  ALL=/bin/mkdir

Sur la plupart des systèmes, le visudo la commande ouvre le /etc/sudoers fichier avec l'éditeur de texte vim. Si vous n'avez pas d'expérience avec vim, consultez notre article sur la façon d'enregistrer un fichier et de quitter l'éditeur vim.

Vous pouvez également autoriser les utilisateurs à exécuter des commandes sudo sans saisir le mot de passe :

linuxize  ALL=(ALL) NOPASSWD: ALL

Comment utiliser Sudo #

La syntaxe pour le sudo commande est la suivante :

sudo OPTION.. COMMAND

Le sudo La commande a de nombreuses options qui contrôlent son comportement, mais généralement, elle est utilisée dans sa forme la plus basique, sans aucune option.

Pour utiliser sudo, préfixez simplement la commande avec sudo :

sudo command

command est la commande pour laquelle vous souhaitez utiliser sudo.

Sudo lira le /etc/sudoers fichier et vérifiez si l'utilisateur appelant est autorisé avec sudo assess. La première fois que vous utilisez sudo dans une session, vous serez invité à entrer le mot de passe de l'utilisateur et la commande sera exécutée en tant que root.

Par exemple, pour lister tous les fichiers dans le /root répertoire que vous utiliseriez :

sudo ls /root
[sudo] password for linuxize:
.  ..  .bashrc	.cache	.config  .local  .profile

Délai d'expiration du mot de passe #

Par défaut, sudo vous demandera de saisir à nouveau votre mot de passe après cinq minutes d'inactivité sudo. Vous pouvez modifier le délai d'attente par défaut en modifiant les sudoers dossier. Ouvrez le fichier avec visudo :

sudo visudo

Définissez le délai d'attente par défaut en ajoutant la ligne ci-dessous, où 10 est le délai d'attente spécifié en minutes :

Defaults  timestamp_timeout=10

Si vous souhaitez modifier l'horodatage uniquement pour un utilisateur spécifique, ajoutez la ligne suivante, où user_name est l'utilisateur en question.

Defaults:user_name timestamp_timeout=10

Exécuter une commande en tant qu'utilisateur autre que root #

Il y a une fausse perception que sudo est utilisé uniquement pour fournir des autorisations root à un utilisateur normal. En fait, vous pouvez utiliser sudo pour exécuter une commande en tant qu'utilisateur quelconque.

Le -u L'option vous permet d'exécuter une commande en tant qu'utilisateur spécifié.

Dans l'exemple suivant, nous utilisons sudo pour exécuter le whoami commande en tant qu'utilisateur "richard":

sudo -u richard whoami

Le whoami commande imprimera le nom de l'utilisateur exécutant la commande :

richard

Comment rediriger avec Sudo #

Si vous essayez de rediriger la sortie d'une commande vers un fichier pour lequel votre utilisateur n'a pas d'autorisations d'écriture, vous obtiendrez une erreur "Autorisation refusée".

sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied

Cela se produit parce que la redirection "> ” de la sortie est effectuée sous l'utilisateur auquel vous êtes connecté, et non sous l'utilisateur spécifié avec sudo. La redirection se produit avant le sudo la commande est invoquée.

Une solution consiste à invoquer un nouveau shell en tant que root en utilisant sudo sh -c :

sudo sh -c 'echo "test" > /root/file.txt'

Une autre option consiste à diriger la sortie en tant qu'utilisateur régulier vers le tee commande, comme indiqué ci-dessous :

echo "test" | sudo tee /root/file.txt

Conclusion #

Vous avez appris à utiliser le sudo commande et comment créer de nouveaux utilisateurs avec des privilèges sudo.

Si vous avez des questions, n'hésitez pas à laisser un commentaire.


Linux
  1. Commande Linux mv

  2. Linux du command

  3. Commande IP Linux

  4. Commande cd Linux

  5. Exemples de commandes sudo sous Linux

Linux Quelle commande

Commande de date sous Linux

Commande W sous Linux

À la commande sous Linux

Commande Df sous Linux

Principes de base de la ligne de commande Linux :sudo