คำสั่งนี้ทำอะไร: sudo dscl passwd / ผู้ใช้ / ผู้ดูแลระบบรหัสผ่าน


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 คุณจำเป็นต้องระบุรหัสผ่านเก่าของผู้ใช้หรือไม่

ปัญหาของฉันคือรหัสผ่านมีอักขระ '$' ซึ่งฉันไม่ได้หลบหนี ดังนั้นรหัสผ่านจะถูกตัดออกก่อนอักขระ $


นี่หมายถึงคำสั่งที่เหมาะสมในการเปลี่ยนรหัสผ่านเป็นคำ $$ และดูเหมือนว่า: sudo dscl passwd / ผู้ใช้ / ผู้ดูแลระบบ thePa \ $ \ $ คำใช่ไหม?
ทำเครื่องหมาย

1
ฉันจะอ้างอาร์กิวเมนต์ ( sudo dscl . passwd /Users/administrator "thePa$$word")
MaxGabriel

2
หากคุณกำลังทำสิ่งนี้จากคอนโซลอย่าให้รหัสผ่าน dsclจะแจ้งให้ทราบและคุณจะไม่เสี่ยงที่จะทิ้งข้อมูลที่ละเอียดอ่อนไว้ในประวัติคำสั่งของคุณ
Marcelo Cantos
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.