11 votes

sudo vs su (en tant qu'utilisateur non-Root)

Mon ordinateur a un utilisateur1 et un utilisateur2, tous deux administrateurs.

Alors que je suis connecté en tant qu'utilisateur1, j'essaie de :

  • "su - user2" -> me demande le mot de passe de users2, puis je peux taper des commandes
  • "sudo --user=user2 [command]" -> me demande le mot de passe. Si je tape le mot de passe de l'utilisateur 2, j'obtiens un message d'erreur "Sorry, try again." comme si le mot de passe était incorrect. Si je tape le mot de passe de l'utilisateur 1, il s'exécute correctement.

La commande sudo ne devrait-elle pas exiger le mot de passe de l'utilisateur que je définis dans le paramètre "--user" ?

22voto

grg Points 181593

C'est un comportement attendu.

  • Le but de su est de changer d'utilisateur. C'est ce qu'on appelle l'outil de substitution d'identité d'utilisateur. su prend le mot de passe de l'autre utilisateur puisque vous passez à cet utilisateur.

    L'utilitaire su demande les informations d'identification de l'utilisateur approprié via PAM et passe à cet ID utilisateur (l'utilisateur par défaut est le superutilisateur). Un shell est alors exécuté.

    Source : Page de l'homme

  • Le but de sudo est d'exécuter une commande en tant qu'autre utilisateur. Le site -u o --user pour sudo spécifie cet utilisateur. Vous ne vous connectez pas en tant que cet utilisateur, vous exécutez simplement une commande. sudo prend votre mot de passe afin de vérifier votre identité pour effectuer une telle tâche.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X