12 votes

Que fait cette commande : sudo dscl . passwd /Users/administrator thePassword

Je suis en train (ou tente) d'administrer un groupe de Mac Minis utilisés comme serveurs. J'ai récemment eu besoin de changer tous leurs mots de passe, alors je me suis connecté en SSH et j'ai exécuté cette commande, qui était celle que j'ai utilisée pour créer de nouveaux comptes d'utilisateur sur ces machines :

sudo dscl . passwd /Users/administrator thePassword

Malheureusement, cela ne fait pas ce que je pensais lorsqu'il est utilisé sur un utilisateur existant - le nouveau mot de passe n'est pas thePassword et j'ai donc perdu l'accès à sudo . man dscl a ceci à dire :

passwd

 Usage: passwd user_path [new_pasword | old_password new_pasword]

 Changes a password for a user. The user must be specified by full path,
 not just a username.  If you are authenticated to the node (either by
 specifying the -u and -P flags or by using the auth command when in
 interactive node) then you can simply specify a new password.  If you are
 not authenticated then the user's old password must be specified.  If
 passwords are not specified while in interactive mode, you will be
 prompted for them.  Passing these passwords on the command line is inher-
 ently insecure and can cause password exposure.  For better security do
 not provide the password as part of the command and you will be securely
 prompted.

Il semble donc que j'aurais dû fournir l'ancien mot de passe de l'utilisateur lors de l'exécution de la commande précédente, mais je ne l'ai pas fait. Je sais quel mot de passe j'ai entré et j'ai toujours un accès SSH aux machines. Si je parviens à comprendre ce que la commande a fait, je serai en mesure de dire quel mot de passe j'ai défini sur les comptes.

10voto

karatedog Points 819

Ah, il s'avère que cette est la manière correcte de changer le mot de passe d'un utilisateur en utilisant sudo . Si vous n'utilisez pas sudo, c'est seulement dans ce cas que vous devez fournir l'ancien mot de passe de l'utilisateur.

Mon problème était qu'il y avait un caractère '$' dans le mot de passe, que je n'avais pas échappé. Par conséquent, les mots de passe étaient coupés avant le caractère '$'.

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