该命令的作用是:sudo dscl。passwd /用户/管理员密码


12

我(尝试)管理一组用作服务器的Mac Mini。我最近需要更改其所有密码,因此我通过SSH并运行了该命令,这是在这些计算机上创建新用户帐户时所使用的命令:

sudo dscl . passwd /Users/administrator thePassword

不幸的是,这并没有像我在现有用户上使用时所想的那样-新密码不是thePassword,因此我无法访问sudoman dscl有这样说:

密码

 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访问计算机。如果我能弄清命令的作用,就可以知道我在帐户上设置的密码。

Answers:


9

嗯,事实证明,这使用时更改用户密码的正确方法sudo。如果您不使用sudo,则仅需要提供用户的旧密码即可。

我的问题是密码中有一个'$'字符,但我没有幸免。因此,密码被截断为$字符。


这意味着将密码更改为Pa $$ word的正确命令如下所示:sudo dscl。passwd /用户/管理员thePa \ $ \ $ word对吗?
2015年

1
我只想引用论点(sudo dscl . passwd /Users/administrator "thePa$$word"
MaxGabriel 2015年

2
如果从控制台执行此操作,请不要提供密码。dscl会提示您,因此您不会冒险将敏感信息保留在命令历史记录中。
Marcelo Cantos
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.