les commandes su et sudo - Ep. #2
Table des matières:
- Installation de Sudo (commande sudo introuvable)
- Installer Sudo sur Ubuntu et Debian
- Installer Sudo sur CentOS et Fedora
- Ajout d'un utilisateur à Sudoers
- Comment utiliser Sudo
- Délai d'expiration du mot de passe
- Exécuter une commande en tant qu'utilisateur autre que root
- Comment rediriger avec Sudo
- Conclusion
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 vous connecter en tant que root est plus sûre 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 expliquerons comment utiliser la commande
sudo
.
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 installé sudo, le système affichera un court message d'aide, sinon vous verrez quelque chose comme la
sudo command not found
.
Si sudo n'est pas installé, vous pouvez facilement l'installer en utilisant le gestionnaire de paquets de votre distribution.
Installer Sudo sur Ubuntu et Debian
Installer Sudo sur CentOS et Fedora
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 fichier
sudoers
. 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 à l'exécution de groupe:
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 une tâche 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, donc si vous exécutez Ubuntu, il est probable que l'utilisateur sous lequel vous êtes connecté dispose déjà des privilèges sudo.
Par exemple, pour permettre à l'utilisateur
linuxize
d'exécuter uniquement la commande
mkdir
tant que sudo, tapez:
sudo visudo
et ajoutez la ligne suivante:
linuxize ALL=/bin/mkdir
Sur la plupart des systèmes, la commande
visudo
ouvre le fichier
/etc/sudoers
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 entrer de mot de passe:
linuxize ALL=(ALL) NOPASSWD: ALL
Comment utiliser Sudo
La syntaxe de la commande
sudo
est la suivante:
sudo OPTION.. COMMAND
La commande
sudo
possède de nombreuses options qui contrôlent son comportement, mais généralement
sudo
est utilisé dans sa forme la plus élémentaire, sans aucune option.
Pour utiliser sudo, préfixez simplement la commande avec
sudo
:
sudo command
Où
command
est la commande pour laquelle vous souhaitez utiliser sudo.
Sudo lira le fichier
/etc/sudoers
et vérifiera si l'utilisateur
/etc/sudoers
est autorisé à utiliser sudo assess. La première fois que vous utilisez sudo dans une session, vous serez invité à entrer le mot de passe utilisateur et la commande sera exécutée en tant que root.
Par exemple, pour répertorier tous les fichiers du répertoire
/root
, vous utiliseriez:
sudo ls /root
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'expiration par défaut en modifiant le fichier
sudoers
. Ouvrez le fichier avec
visudo
:
sudo visudo
Définissez le délai d'expiration par défaut en ajoutant la ligne ci-dessous, où
10
est le délai spécifié en minutes:
Defaults timestamp_timeout=10
Defaults:user_name timestamp_timeout=10
Exécuter une commande en tant qu'utilisateur autre que root
Il y a une perception erronée 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 que n'importe quel utilisateur.
L'option
-u
vous permet d'exécuter une commande en tant qu'utilisateur spécifié.
Dans l'exemple suivant, nous utilisons
sudo
pour exécuter la commande
whoami
tant qu'utilisateur «richard»:
sudo -u richard whoami
La commande
whoami
affichera le nom de l'utilisateur exécutant la commande:
Comment rediriger avec Sudo
sudo echo "test" > /root/file.txt
bash: /root/file.txt: Permission denied
Cela se produit car la redirection «
>
» de la sortie est effectuée sous l'utilisateur auquel vous êtes connecté, et non pas l'utilisateur spécifié par sudo. La redirection a lieu avant l'
sudo
commande
sudo
.
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 normal vers la commande
tee
comme indiqué ci-dessous:
echo "test" | sudo tee /root/file.txt
Conclusion
Vous avez appris à utiliser la commande
sudo
et à créer de nouveaux utilisateurs avec des privilèges sudo.
Commande chmod sous linux (autorisations de fichiers)
Sous Linux, l'accès aux fichiers est géré via les autorisations, les attributs et la propriété des fichiers. Ce didacticiel explique comment utiliser la commande chmod pour modifier les autorisations d'accès aux fichiers et aux répertoires.
Commande chgrp sous linux (changement de groupe)
Sous Linux, chaque fichier est associé à un propriétaire et à un groupe et dispose d'autorisations qui déterminent quels utilisateurs peuvent lire, écrire ou exécuter le fichier. La commande chgrpc change la propriété du groupe des fichiers donnés.
Comment exécuter la commande sudo sans mot de passe
La commande sudo permet aux utilisateurs de confiance d'exécuter des programmes en tant qu'autre utilisateur, par défaut l'utilisateur root. Ce didacticiel explique comment configurer le fichier sudoers et autoriser certains utilisateurs à exécuter des commandes sudo sans être invité à saisir le mot de passe.







