Stations de travail en ligne OnWorks Linux et Windows

Logo

Hébergement gratuit en ligne pour les postes de travail

<Précédent | Table des matières | Suivant>

sudo - Exécuter une commande en tant qu'autre utilisateur

Le sudo la commande est comme su à bien des égards, mais possède des capacités supplémentaires importantes. L'administrateur peut configurer sudo pour permettre à un utilisateur ordinaire d'exécuter des commandes en tant qu'utilisateur différent (généralement le superutilisateur) d'une manière très contrôlée. En particulier, un utilisateur peut être limité à une ou plusieurs commandes spécifiques et aucune autre. Une autre différence importante est que l'utilisation de sudo ne nécessite pas l'accès au mot de passe du superutilisateur. Pour s'authentifier en utilisant sudo, l'utilisateur utilise son propre mot de passe. Disons, par exemple, que sudo a été configuré pour nous permettre d'exécuter un programme de sauvegarde fictif appelé "backup_script", qui nécessite des privilèges de superutilisateur. Avec sudo ça se ferait comme ça :



[moi@linuxbox ~]$ sudo sauvegarde_script

Mot de passe:

Démarrage de la sauvegarde du système...

[moi@linuxbox ~]$ sudo sauvegarde_script

Mot de passe:

Démarrage de la sauvegarde du système...


Après avoir entré la commande, on nous demande notre mot de passe (pas celui du superutilisateur) et une fois l'authentification terminée, la commande spécifiée est exécutée. Une différence importante entre su et les sudo que sudo ne démarre pas un nouveau shell et ne charge pas l'environnement d'un autre utilisateur. Cela signifie que les commandes n'ont pas besoin d'être citées différemment de ce qu'elles seraient sans utiliser sudo. Notez que ce comportement peut être annulé en spécifiant diverses options. Voir le sudo page de manuel pour plus de détails.

Pour voir quels privilèges sont accordés par sudo, utilisez l'option "-l" pour les lister :


[moi@linuxbox ~]$ sudo-l

L'utilisateur me peut exécuter les commandes suivantes sur cet hôte : (ALL) ALL

[moi@linuxbox ~]$ sudo-l

L'utilisateur me peut exécuter les commandes suivantes sur cet hôte : (ALL) ALL


image

Ubuntu et sudo

L'un des problèmes récurrents pour les utilisateurs réguliers est de savoir comment effectuer certaines tâches qui nécessitent des privilèges de superutilisateur. Ces tâches incluent l'installation et la mise à jour du logiciel, la modification des fichiers de configuration du système et l'accès aux périphériques. Dans le monde Windows, cela se fait souvent en donnant aux utilisateurs des privilèges administratifs. Cela permet aux utilisateurs d'effectuer ces tâches. Cependant, il permet également aux programmes exécutés par l'utilisateur d'avoir les mêmes capacités. Ceci est souhaitable dans la plupart des cas, mais cela permet également malware (logiciels malveillants) tels que les virus pour avoir le libre règne de l'ordinateur.

Dans le monde Unix, il y a toujours eu une plus grande division entre les utilisateurs réguliers et les administrateurs, en raison de l'héritage multi-utilisateur d'Unix. L'approche adoptée sous Unix consiste à accorder des privilèges de superutilisateur uniquement lorsque cela est nécessaire. Pour ce faire, le su et les sudo les commandes sont couramment utilisées.

Jusqu'à il y a quelques années, la plupart des distributions Linux s'appuyaient sur su dans ce but. su ne nécessitait pas la configuration qui sudo requis, et avoir un compte root est traditionnel sous Unix. Cela a introduit un problème. Les utilisateurs étaient tentés de fonctionner en tant que root inutilement. En fait, certains utilisateurs exploitaient leurs systèmes en tant qu'utilisateur root exclusivement, car cela supprime tous ces messages ennuyeux de « permission refusée ». C'est ainsi que vous réduisez la sécurité d'un système Linux à celle d'un système Windows. Pas une bonne idée.

Quand Ubuntu a été introduit, ses créateurs ont adopté une approche différente. Par défaut, Ubuntu désactive les connexions au compte root (en omettant de définir un mot de passe pour le compte), et utilise à la place sudo pour accorder des privilèges de superutilisateur. Le compte d'utilisateur initial bénéficie d'un accès complet aux privilèges de superutilisateur via sudo et peut accorder des pouvoirs similaires aux comptes d'utilisateurs ultérieurs.


Meilleur système d'exploitation Cloud Computing chez OnWorks :