logo

Linux sudo

Introduction

La commande Linux sudo signifie Super utilisateur à faire . Généralement, il est appliqué comme préfixe de quelques commandes que le superutilisateur est autorisé à exécuter.

Si nous préfixons la commande avec d’autres commandes, cette commande sera exécutée avec des privilèges élevés. En d’autres termes, cela permettra à l’utilisateur, avec l’autorisation appropriée, de manger une commande comme les autres utilisateurs comme le superutilisateur.

C'est égal à l'option 'Exécuter en tant qu'administrateur' sous Windows. L'option sudo nous permet d'avoir plus d'un administrateur. Les utilisateurs pouvant appliquer la commande sudo doivent avoir l'entrée dans le fichier sudoers positionnée à '/etc/sudoers/' .

Remarque : Pour afficher ou modifier le fichier, nous devons appliquer la commande sudo. Pour éditer le fichier, il est suggéré d'appliquer la commande 'visudo'.

La commande sudo nécessite par défaut que les utilisateurs se vérifient avec un mot de passe qui est le mot de passe de l'utilisateur, et non un mot de passe root lui-même.

Syntaxe de la commande sudo

La syntaxe de la commande sudo est mentionnée ci-dessous :

 sudo OPTION... COMMAND 

Option dans la commande sudo

Certaines des options importantes de la commande sudo sont expliquées ci-dessous :

1. -Dans : Ça signifie version . Cette option active la commande sudo pour imprimer le numéro de version et quitter. L'option -V imprimerait la pause par défaut de la liste sudo observée si l'utilisateur demandeur est déjà la racine.

Linux sudo

2. -l : Ça signifie liste . Cette option aidera à imprimer les différentes commandes autorisées à l'utilisateur sur l'hôte actuel.

Cela montre que l'utilisateur actuel peut appliquer chaque commande en tant que sudo.

avec forme complète
Linux sudo

3. -h ou -help : Le h représente aide dans cette option. Cette option active la commande sudo pour imprimer un message d'utilisation et de sortie.

Linux sudo

4. -dans : Ça signifie valider . Si la commande sudo met à jour l'horodatage de l'utilisateur, la validation demandera le mot de passe de l'utilisateur si nécessaire. Il prolonge le délai d'expiration de la commande sudo pour les 5 autres minutes mais n'exécute pas de commande. Cela ne fournit aucun résultat.

5. -k : Ça signifie tuer . Cette option invalide l'horodatage de l'utilisateur sur sudo. Par conséquent, la prochaine fois que la commande sudo sera exécutée, un mot de passe sera requis. L'option -k ne nécessite aucun mot de passe et a été incluse pour permettre aux utilisateurs de révoquer les autorisations de la commande sudo via le .Se déconnecter déposer.

6.-b : Ça signifie arrière-plan . Cette option indique à la commande sudo d'exécuter les commandes fournies en arrière-plan.

Remarque : Si nous appliquons cette option, nous ne pouvons pas appliquer le contrôle des tâches Shell pour manipuler le processus.

Linux sudo

7.-K : Cette option est la même que l'option -k. Cependant, cela représente tue sûrement . Cette option est appliquée pour supprimer entièrement l’horodatage de l’utilisateur. De même, il ne nécessite aucun mot de passe.

8.-p : Ça signifie rapide . Cette option nous permet de remplacer l'invite de mot de passe (par défaut) et d'en appliquer une personnalisée. Quelques pourcentages d'évasions sont autorisés, à savoir :

  • %u est développé avec le nom de connexion de l'utilisateur appelant.
  • %U est développé avec le nom de connexion de l'utilisateur
  • %h est développé sur le nom d'hôte (local) sans aucun nom de domaine.
  • %H est développé vers le nom d'hôte (local) avec le nom du domaine (uniquement lorsque le nom d'hôte de la machine est complètement qualifié)
  • %% (deux caractères consécutifs) peut être divisé en un caractère % individuel.
Linux sudo

9. -n : Cette option exécutera la commande sans demander le mot de passe. C'est très utile si nous souhaitons exécuter quelques commandes en tâche de fond (ou à l'intérieur du script shell), où nous ne souhaitons pas que la commande sudo demande le mot de passe. Cette option est l’abréviation de non interactif.

diagramme uml java

10. -dans : Ça signifie utilisateur . Cette option permet à la commande sudo d'exécuter les commandes décrites autres que le root en tant qu'utilisateur. Pour spécifier un uide plutôt que le nom d'utilisateur, nous pouvons utiliser le #uid .

11.-H : Ça signifie MAISON . Cette option peut définir un Variable d'environnement HOME à notre répertoire personnel de l'utilisateur root comme décrit dans le fichier passwd. La commande sudo par défaut ne change pas HOME.

12. -s : Il représente le coquille . Cette option exécute le shell décrit via un Variable d'environnement SHELL lorsqu'il est réglé ou cette coque comme décrit à l'intérieur du mot de passe déposer.

exception personnalisée en Java

13. -S : Ça signifie entrée standard . Cette option active la commande sudo pour lire le mot de passe via une entrée standard plutôt que via le terminal.

14.- : Cette option illustre que la commande sudo doit arrêter de traiter les arguments de la ligne de commande. Il est très utile en conjonction avec un indicateur -s.

15. -a : Ça signifie type d'identification . Cette option permet à la commande sudo d'utiliser le type d'authentification décrit lors de la validation d'un utilisateur, comme le permet le /etc/login/.config .

L'administrateur du système peut décrire la liste des méthodes d'authentification spécifique à sudo en incluant le 'auto-sudo' entrée à l'intérieur du /etc/login/.config .

Linux sudo

Variables d'environnement dans la commande sudo

Voici quelques-unes des variables d'environnement appliquées par la commande sudo :

Oui Non. Étiqueter Description
1. ÉDITEUR Il s'agit d'un éditeur par défaut qui peut être utilisé en mode -e (sudoedit) lorsque VISUAL n'est pas corrigé.
2. MAISON Il sera défini sur le répertoire personnel de l'utilisateur (cible) en mode -H ou -s (ou lorsque la commande sudo a été formée avec l'option, c'est-à-dire -enable-shell-sets-home).
3. CHEMIN Il prend la valeur raisonnable lorsque l'option, c'est-à-dire secure_path sudoers, est corrigée.
4. COQUILLE Il peut être utilisé pour déterminer le shell à exécuter avec l'option -s.
5. SUDO_COMMAND Il définit une commande exécutée par la commande sudo.
6. SUDO_PROMPT Il peut être utilisé comme invite de mot de passe (par défaut).
7. SUDO_USER Il définit la connexion de l'utilisateur qui demande la commande sudo.
8. SUDO_UID Il définit l'uid de l'utilisateur qui demande la commande sudo.
9. SUDO_GID Il définit le gid de l'utilisateur qui demande la commande sudo.
dix. SUD_PS1 PS1 serait fixé à sa valeur s'il était défini.
onze. UTILISATEUR Il est défini sur l'utilisateur (root sauf si l'option, c'est-à-dire -u, est décrite).
12. VISUEL Il s'agit d'un éditeur par défaut et utilisé en mode -e (sudoedit).

Histoire de la commande sudo

Cliff Spencer et Robert Coggeshall ont écrit le sous-système actuel en 1980 à SUNY/Buffalo au Département d'informatique. Robert Coggeshall a emporté sudo avec lui à l'Université du Colorado à Boulder. Les fonctionnalités et le code ont été considérablement modifiés par les membres informatiques du College of Engineering et du département d'informatique et de sciences appliquées de l'Université du Colorado à Boulder, avec Todd C. Miller entre 1986 et 1993.

Publiquement, la dernière version est gérée depuis 1994 par Todd .C Miller (développeur OpenBSD) et partagée depuis 1999 sous licence de style ISC.

Thomas Claburn a qualifié ces incertitudes d'exagérées en novembre 2009 en réponse à l'affirmation selon laquelle Microsoft avait le privilège sudo. De manière étroite, les revendications ont été formulées selon une interface graphique spécifique au lieu de l'approche sudo.

Conception de la commande sudo

Les utilisateurs peuvent fournir leur mot de passe à sudo lorsque cela est nécessaire au lieu d'un superutilisateur, contrairement à la commande su. Il permet aux utilisateurs accessibles d'exercer des privilèges qualifiés sans divulguer le secret du mot de passe de l'autre compte.

  • Lorsque le fichier de configuration autorise l'accès à l'utilisateur, après authentification, le système demande la commande revendiquée.
  • La commande sudo a conservé les droits d'invocation de l'utilisateur pendant un délai de grâce (généralement 5 minutes) par pseudo-terminal et permet à l'utilisateur d'exécuter diverses commandes successives en tant qu'utilisateur revendiqué sans avoir à donner à nouveau de mot de passe.
  • La commande sudo peut être configurée pour enregistrer chaque commande exécutée en tant que fonctionnalité d'audit et de sécurité.
  • Au moment où un utilisateur tire pour avoir invoqué la commande sudo sans être répertorié dans le fichier de configuration, une illustration d'exception est présentée à cet utilisateur lui indiquant que la prise de vue a été enregistrée.
  • Une entrée serait enregistrée dans le système et l'utilisateur root serait informé par courrier.

Configuration de la commande sudo

Le /etc/sudoers Le fichier inclut les groupes d'utilisateurs ou la liste des utilisateurs autorisés à exécuter un ensemble de commandes tout en contenant les droits d'un utilisateur root ou d'un autre utilisateur répertorié. Le programme peut être configuré pour nécessiter un mot de passe.

Impact de la commande sudo

Dans quelques distributions système, la commande sudo a supplanté l'utilisation (par défaut) d'un identifiant de superutilisateur différent pour diverses opérations administratives, notamment dans quelques distributions macOS d'Apple ainsi que Linux.

méthode tostring en java

Il empêche quelques exploits et permet également une journalisation plus protégée des commandes d'administration.

RBAC

La commande sudo pourrait être utilisée pour le transit entre différents types de rôles au sein du contrôle d'accès basé sur les rôles en collaboration avec SELinux.

Programmes et outils similaires

Le visudo est un utilitaire de ligne de commande qui permet d'éditer le fichier de configuration de sudo de manière sécurisée. Il effectue des contrôles de syntaxe et d'intégrité et empêche également plusieurs modifications simultanées ainsi que des verrous.

Le programme runas offre les mêmes performances dans Microsoft Windows ; cependant, il ne peut pas transmettre les longues lignes de commande actuelles à un enfant, à des variables d'environnement ou à des répertoires.

Il ne prend pas en charge l'élévation générale alors qu'il permet d'exécuter l'enfant comme n'importe quel autre utilisateur. Pour Windows, un vrai sudo et su qui peuvent transférer chacun de ces détails d'état et démarrer l'enfant en tant qu'autre utilisateur ou élevé sont ajoutés avec Coque Hamilton C .

L'interface graphique est disponible pour sudo ( gksudo notamment) mais il est obsolète dans Debian et plus non plus dans Ubuntu. Divers autres types d'interfaces utilisateur ne sont pas conçus directement sur sudo, mais facilitent la même élévation de privilèges (temporaire) pour des objectifs administratifs tels que Services d'autorisation de Mac OS X, contrôle de compte d'utilisateur dans Microsoft Windows , et pkexec dans les systèmes d'exploitation de type Unix .

Depuis la version 5.8 d'OpenBSD (octobre 2015), faire un don est disponible. Il a été spécifié de remplacer la commande sudo dans le système de base d'OpenBSD.

son contre sudo

Si nous sommes habitués à une configuration Linux plus classique, alors nous avons l'habitude d'appliquer la commande su pour obtenir les privilèges root. Nous pouvons également émettre la commande su pour nous connecter efficacement en tant que root (la maison de la racine devient notre maison).

En utilisant ce type de distribution, nous pouvons également nous connecter en tant qu'utilisateur d'itinéraire. Mais ce n'est pas une bonne idée de se connecter en tant qu'utilisateur root. Si nous appliquons une distribution qui dépend de la commande su et permet la connexion de l'utilisateur root, connectez-vous en tant qu'utilisateur standard et la commande su à l'utilisateur root.

Très probablement, nous remarquerons que nous ne pouvons pas nous connecter en tant qu'utilisateur root à l'aide de distributions basées sur sudo. En fait, dans certaines distributions comme Ubuntu, le compte de l'utilisateur root a été désactivé.

Nous ne pouvons pas nous connecter en tant qu'utilisateur root et utiliser la commande su pour devenir utilisateur root. Nous pourrions faire est d'émettre ces commandes en utilisant la commande sudo pour obtenir des privilèges administratifs.

Utilisation de la commande sudo

Il existe deux manières différentes d'exécuter des applications d'administration sous Linux. Soit nous pouvons changer le superutilisateur ou l'utilisateur root à l'aide de la commande su, soit nous pouvons profiter de la commande sudo.

Lorsque nous utilisons notre temps sur le terminal, sudo est l'une des commandes importantes que nous utiliserons assez fréquemment. Utiliser la commande sudo plutôt que de se connecter en tant qu'utilisateur root est plus protégé car nous ne pouvons accorder que quelques privilèges administratifs à un seul utilisateur sans qu'il connaisse le mot de passe root.

convertir une chaîne en caractère

La façon dont nous l'implémentons dépend de la distribution que nous utilisons. Quelques distributions permettent à l'utilisateur root (comme OpenSUSE, Red Hat , ou Feutre ), alors que quelques-uns ne le font pas (comme Debian et Ubuntu ).

L'utilisation de la commande sudo est simple dans sa forme très basique. Par exemple, nous devons exécuter le dpkg pour installer un logiciel. Si nous exécutons simplement le dpkg -i logiciel.deb commande en tant qu'utilisateur standard, nous recevrons un message d'erreur indiquant que l'utilisateur n'a pas les autorisations nécessaires pour exécuter la commande.

C'est pourquoi, par défaut, les utilisateurs standard ne peuvent pas installer diverses applications sur une machine Linux. Si nous voulons installer une application sur la machine Linux, nous devons disposer des privilèges d'un superutilisateur.

Nous allons plutôt exécuter le sudo dpkg -i logiciel.deb commande afin que nous puissions exécuter l’installation avec succès.

Installation de la commande sudo

Le package de commande sudo est préinstallé sur la plupart des distributions Linux. Pour confirmer que le package est installé sur notre système, les étapes ci-dessous doivent être suivies :

  • Tout d’abord, ouvrez notre terminal.
  • Tapez sudo et cliquez sur le bouton Entrée.
  • Si le package sudo est installé sur notre système, il affichera un court message.
  • Sinon, nous vous en informerons par un message, c'est-à-dire que la commande sudo est introuvable.
  • Si le package n'est pas installé, nous pouvons installer ce package facilement en appliquant le gestionnaire de packages de surdistribution.

Installez Sudo sur Fedora et CentOS

 $ yum install sudo 

Installez Sudo sur Debian et Ubuntu

 $ apt install sudo 

Linux sudo

Commande de mise à jour sudo

Linux sudo