Considérez la bande dessinée ci-dessus de l'excellent webcomic XKCD. Le paresseux sur la chaise veut que son ami lui prépare un sandwich, mais ils n'ont pas l'autorité pour le leur faire faire. C'est-à-dire jusqu'à ce qu'il invoque la puissante commande sudo. Après quoi, un sandwich sera fait d'une manière ou d'une autre.
Même si essayer sudo sur une personne dans la vraie vie ne sera probablement pas aussi efficace, c'est la commande magique qui franchit tous les obstacles dans le monde de Linux. Qu'est-ce que le sudo ? Pourquoi existe-t-il même ? La réponse réside dans la façon dont Linux gère les autorisations.
Comprendre les autorisations des utilisateurs Linux
Linux est considéré comme un système d'exploitation sécurisé en raison de la façon dont il gère les autorisations. Alors que les systèmes d'exploitation tels que macOS (qui partageait un ancêtre avec Linux) et Windows ressemblent maintenant davantage à Linux à cet égard, le système d'exploitation Open Source est encore quelque peu unique.
Comprendre comment Linux gère les autorisations en fait un beaucoup plus facile de comprendre la commande sudo. Tous les systèmes d'exploitation modernes ont un niveau d'autorisation utilisateur « administrateur » ou « root ». Si vous avez un compte administrateur ou root, vous pouvez modifier n'importe quel paramètre, supprimer toutes les données et généralement faire ce que vous voulez avec l'ordinateur.
Cela inclut des choses que vous ne devriez probablement pas faire qui peuvent entraîner une perte de données ou la nécessité d'un effacement complet et d'une réinstallation.
Linux ne Ne faites pas les autorisations de niveau utilisateur root par défaut. Au lieu de cela, votre compte ne peut pas accéder aux parties vraiment sensibles du système sans élever votre niveau d'autorisation. Cela signifie que le système vous demandera d'entrer le mot de passe administrateur lorsque vous souhaitez faire quelque chose d'extraordinaire à l'aide d'une interface graphique.
Cependant, lorsque vous souhaitez utiliser la ligne de commande Terminal pour faire avancer les choses, sudo est le plus sûr et le moyen le plus efficace de s'y prendre.
Sudo et le terminal
Il existe deux façons de vous donner des autorisations élevées sous Linux. La première consiste à se connecter en tant qu'utilisateur root de manière permanente. Le problème avec ceci est que toute autre personne qui peut accéder à l'ordinateur peut faire des ravages, et même vous pouvez le faire par accident. Sudo n'élève vos autorisations que pendant une courte période pour exécuter les commandes spécifiques qui le suivent.
Syntaxe Sudo
La syntaxe de Sudo (le format de la commande) est simple. Tapez simplement « sudo » suivi de la commande que vous souhaitez exécuter.
Par exemple, « sudo apt-get update » mettra à jour tous les référentiels d'applications répertoriés dans les déposer. Si vous essayez de l'exécuter sans sudo, vous obtiendrez un message d'erreur vous indiquant que vous n'avez pas l'autorisation. Incidemment, c'est généralement la première commande sudo que vous voudrez exécuter après une nouvelle installation de votre distribution Linux préférée.
Le "Su" dans Sudo
Le "su" dans sudo est l'abréviation de "superuser" et c'est une commande autonome. La commande "su" vous permet de modifier les privilèges d'utilisateur auxquels sudo vous élève.
Bien que sudo vous élève temporairement en root, su vous change d'utilisateur avec les privilèges appropriés. Cela peut sembler une distinction sans importance, mais il y a de bonnes raisons de changer le compte vers lequel sudo élève un utilisateur.
Tout d'abord, changer de compte signifie que les utilisateurs réguliers ne connaissent pas le mot de passe root. Deuxièmement, il existe un journal de toutes les commandes sudo, ce qui signifie que l'administrateur système (root) peut rechercher qui a émis les commandes su.
La syntaxe de su est essentiellement la même que sudo :
Su USERNAME -c COMMAND
Remplacez USERNAME par l'utilisateur souhaité pour exécuter la commande et COMMAND par la commande Linux que vous souhaitez exécuter.
Si vous souhaitez exécuter plusieurs commandes en tant qu'autre utilisateur, utilisez simplement :
Su USER
Remplacez USER par l'identité de compte utilisateur souhaitée.
Si vous utilisez su seul, Linux basculera vers l'autre compte utilisateur jusqu'à ce que vous utilisiez la commande « exit ». Il est important de se rappeler que cet utilisateur ou le prochain utilisateur qui accèdera au terminal dans cette session aura toujours des autorisations élevées. C'est pourquoi il est généralement préférable d'utiliser sudo plutôt que su.
La limite de temps Sudo
La première fois que vous utilisez une commande sudo, vous devra entrer un mot de passe. Ensuite, ce mot de passe restera valide pendant 15 minutes. Vous pouvez modifier cette valeur par défaut en exécutant la commande sudo visudoet en remplaçant « timestamp_timeout=" par une valeur plus longue ou plus courte. Cependant, nous ne vous recommandons pas de le faire, sauf si vous avez une bonne raison d'étendre ou de raccourcir la durée de validité d'un mot de passe sudo.
Sudo Option Switches
Bien que la syntaxe sudo soit simple, plusieurs interrupteurs valent la peine d'être connus. Ces commandes ouvrent des informations supplémentaires ou vous aident à contrôler la session sudo :
Il y a beaucoup plus d'options intégrées dans sudo, et vous pouvez toutes les voir en utilisant le premier commutateur -h répertorié ci-dessus.
La capture d'écran ci-dessus est ce qui résulte lorsque vous utilisez l'option d'aide.
Commandes Sudo utiles
Alors, quelles commandes activées par sudo devrait-il connaître chaque utilisateur de Linux ? Nous avons déjà couvert la mise à jour sudo apt-get, mais notez également ceci :
Ce sont probablement les premières commandes sudo que vous devrez utiliser, mais comme vous l'avez appris ci-dessus, toute commande peut suivre sudo, mais vous ne devez utiliser que celles qui nécessitent des privilèges plus élevés.