Що робить ця команда: sudo dscl. passwd / Користувачі / адміністраторPassword


12

Я (намагаюся) адмініструвати групу Mac Minis, що використовується як сервери. Нещодавно мені потрібно було змінити всі їх паролі, тому я ввімкнув SSHed і запустив цю команду, якою я користувався при створенні нових облікових записів користувачів на цих машинах:

sudo dscl . passwd /Users/administrator thePassword

На жаль, це не зробило те, що я думав, коли використовувався для вже наявного користувача - нового пароля немає, thePasswordтому я втратив доступ до нього sudo. man dsclмає це сказати:

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.

Так виглядає, що я повинен був надати старий пароль користувача під час виконання цієї попередньої команди, але я цього не зробив. Я знаю, який пароль я ввів, і я все ще маю SSH доступ до машин. Якщо я зможу зрозуміти, що зробила команда, я зможу сказати, який пароль я встановив у акаунтах.

Відповіді:


9

Так, виявляється, що це правильний спосіб змінити пароль користувача при використанні sudo. Якщо ви не використовуєте sudo, тоді вам потрібно вказати старий пароль користувача.

Моя проблема полягала в тому, що в паролі був символ "$", який я не уникав. Отже, паролі були відрізані перед символом $.


Це означає, що правильна команда змінити словоПасло на словоPa $$ має вигляд: sudo dscl. passwd / Користувачі / адміністратор словоPa \ $ \ $ слово Так?
Марк

1
Я б тільки цитував аргумент ( sudo dscl . passwd /Users/administrator "thePa$$word")
MaxGabriel

2
Якщо ви робите це з консолі, не вводите пароль. dsclпідкаже про це, і, таким чином, ви не ризикуєте залишити конфіденційну інформацію в своїй історії команд.
Марсело Кантос
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.