ฉันกำลังพยายามจัดการกลุ่ม 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 กับเครื่องได้ หากฉันสามารถทราบได้ว่าคำสั่งทำอะไรฉันจะสามารถบอกรหัสผ่านที่ฉันตั้งไว้ในบัญชีได้