Tôi (đang cố gắng) quản trị một nhóm Mac Minis được sử dụng làm máy chủ. Gần đây tôi cần thay đổi tất cả mật khẩu của họ, vì vậy tôi đã SSH và chạy lệnh này, đó là những gì tôi đã sử dụng khi tạo tài khoản người dùng mới trên các máy đó:
sudo dscl . passwd /Users/administrator thePassword
Thật không may, điều này đã không làm những gì tôi nghĩ khi được sử dụng trên một người dùng hiện tại, mật khẩu mới không phải thePassword
và vì vậy tôi đã mất quyền truy cập sudo
. man dscl
có điều này để nói:
mật mã
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.
Vì vậy, có vẻ như tôi nên cung cấp mật khẩu cũ của người dùng khi chạy lệnh trước đó, nhưng tôi đã không làm thế. Tôi biết mật khẩu nào tôi đã nhập và tôi vẫn có quyền truy cập SSH vào máy. Nếu tôi có thể tìm ra lệnh đã làm gì, tôi sẽ có thể cho biết mật khẩu tôi đã đặt trên tài khoản.