GNU/Linux >> Tutoriels Linux >  >> Ubuntu

La différence entre sudo et su expliquée

Présentation

Le sudo et su appartiennent au groupe de commandes que chaque utilisateur Linux rencontre. Parce qu'ils sont similaires dans la syntaxe et ont des fonctions qui se chevauchent, de nombreux nouveaux utilisateurs ne savent pas quand utiliser l'un plutôt que l'autre.

Dans ce didacticiel, apprenez tout sur la différence entre su et sudo .

sudo contre su

Les deux su et sudo élever les privilèges attribués à l'utilisateur actuel.

La principale différence entre les deux est que su nécessite le mot de passe du compte cible, tandis que sudo nécessite le mot de passe de l'utilisateur actuel. Par conséquent, il est beaucoup plus sûr d'utiliser sudo puisqu'il n'inclut pas l'échange d'informations sensibles.

De plus, il est conseillé de s'en tenir à sudo lors de l'exécution de tâches nécessitant des privilèges root. Ce faisant, l'utilisateur actuel n'obtient des privilèges que pour la commande spécifiée. D'autre part, su passe complètement à l'utilisateur root, exposant l'ensemble du système à une modification accidentelle potentielle.

Comment utiliser la commande su

Le su la commande signifie utilisateur de substitution , et il est principalement utilisé pour passer d'un utilisateur à un autre. Pour ce faire, il démarre un shell de connexion dans le répertoire et l'environnement actuels (su ) ou en modifiant complètement le paramètre de l'utilisateur cible (su - ) .

La syntaxe principale est :

su [user_name]

ou

su - [user_name]

Si la commande est utilisée sans l'argument, elle passe au superutilisateur (root ) compte.

Comment fonctionne la commande su ?

Pour appeler le shell d'un autre utilisateur dans le répertoire de travail/environnement utilisateur, utilisez le su commande (sans le trait d'union).

Par exemple, pour fonctionner en tant qu'utilisateur nommé phoenixnap , exécutez :

su phoenixnap

Ensuite, fournissez le mot de passe pour le phoenixnap compte et appuyez sur Entrée .

Le shell devrait changer, affichant que vous avez maintenant un accès opérateur au compte spécifié. Cependant, l'environnement utilisateur reste le même, comme dans l'image ci-dessous :

Comment fonctionne la commande su - [trait d'union] ?

Pour passer à un autre utilisateur et basculer vers cet environnement utilisateur cible, utilisez le su - commande.

Par conséquent, pour passer au phoenixnap utilisateur et accédez à son shell de connexion, tapez la commande :

su - phoenixnap

Tapez le mot de passe pour le phoenixnap compte et appuyez sur Entrée confirmer. La sortie devrait ressembler à celle de l'image suivante :

Comment utiliser la commande sudo

sudo est utilisé comme préfixe pour les commandes Linux, ce qui permet à l'utilisateur connecté d'exécuter des commandes nécessitant des privilèges root. Contrairement à su , le sudo La commande sous Linux nécessite de fournir le mot de passe de l'utilisateur exécutant la commande.

Toutes les tâches administratives et exécutables nécessitent une autorisation maximale (détenue par root). Dans de tels cas, il est recommandé d'utiliser sudo .

La syntaxe principale est :

sudo [command]

Avant que le système n'exécute la commande, il demande le mot de passe de l'utilisateur actuel.

Gardez à l'esprit que le sudo l'option ne peut être utilisée que par les utilisateurs qui appartiennent aux sudoers groupe.

Ajouter un utilisateur au groupe Sudoers

Pour qu'un utilisateur exécute une commande qui nécessite le sudo préfixe, il doit faire partie des sudoers groupe.

Pour ajouter un utilisateur aux sudoers groupe, exécutez la commande suivante (en tant qu'utilisateur root ou compte disposant déjà des privilèges sudo) :

usermod -aG sudo [user_name]

Par exemple, pour ajouter le compte phoenixnap , vous taperiez :

sudo usermod -aG sudo phoenixnap

Pour voir une liste des comptes appartenant au groupe sudoers, exécutez :

sudo getent group sudo

La sortie doit afficher le compte ajouté à l'étape précédente :

Comment sudo et su fonctionnent sur différentes distributions Linux

su est une commande plus ancienne mais plus complète incluse dans toutes les distributions Linux. C'est la manière traditionnelle de passer au compte root.

Linux déconseille de travailler en tant que root car cela peut entraîner des modifications indésirables à l'échelle du système et suggère d'utiliser sudo Au lieu. Pour cette raison, tous les sites basés sur Ubuntu les versions sont sudo uniquement , ce qui signifie que le compte root n'est pas actif par défaut.

Lors de l'installation d'un système d'exploitation Ubuntu, vous créez un utilisateur automatiquement étiqueté comme faisant partie du groupe sudoers. Cependant, il n'y a pas de configuration de compte root. Pour activer l'utilisateur root, vous devez l'activer manuellement.

D'autre part, d'autres distributions Linux, telles que Fedora, créent un compte root et utilisateur lors de l'installation.

Activation du compte racine

Si vous utilisez une distribution basée sur Ubuntu et essayez de passer à l'utilisateur root, la sortie vous informe qu'il y a un échec d'authentification .


Pour activer l'utilisateur root, exécutez la commande passwd :

sudo passwd root

Ensuite, la sortie demande de définir le mot de passe pour l'utilisateur root. Tapez et retapez un mot de passe sécurisé, puis appuyez sur Entrée. Le système devrait vous informer que le mot de passe a été mis à jour avec succès.

Vérifiez que l'utilisateur root est actif en y basculant son shell de connexion avec su - .

Fonctionnalités supplémentaires

Bien que sudo est principalement lié à l'exécution de commandes avec les privilèges root, il peut également être utilisé pour changer l'utilisateur root. Basculez vers l'utilisateur root et acquérez l'environnement root avec :

sudo -i

Tapez le mot de passe de l'utilisateur actuellement utilisé. Vous devriez maintenant être dans le shell racine.

De même, su peut également fonctionner comme sudo et exécutez une seule commande en tant que root :

su -c [command]

Ubuntu
  1. Quelle est la différence entre Sudo Su - et Sudo Su - ?

  2. Différence entre l'utilisateur Sudo et l'utilisateur root ?

  3. Quelle est la différence entre Ddrescue, Gddrescue et Dd_rescue ?

  4. La différence entre Sudo et Gksu est-elle la même que la différence entre Sudo -i et Sudo -s ?

  5. La Différence Entre Update-grub Et Update-grub2 ?

Comprendre la différence entre les commandes sudo et su sous Linux

Quelle est la différence entre Rsync et BTRFS sous Linux ?

Quelle est la différence entre le chat et la commande tactile

Différence entre apt et apt-get expliquée

Expliqué! La différence entre les commandes grep, egrep et fgrep

Différence entre apt et apt-get expliquée