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]