이 명령의 기능 : sudo dscl passwd / 사용자 / 관리자 비밀번호


12

서버로 사용되는 Mac Mini 그룹을 관리하려고합니다. 최근에 모든 비밀번호를 변경해야했기 때문에 SSH로 접속하여이 명령을 실행했습니다.이 명령은 해당 컴퓨터에서 새 사용자 계정을 만들 때 사용한 것입니다.

sudo dscl . passwd /Users/administrator thePassword

불행히도, 이것은 기존 사용자에게 사용될 때 내가 생각한 바를 수행하지 못했습니다. 새 비밀번호는 아니므로 thePassword액세스 할 수 없습니다 sudo. man 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 액세스 권한이 있습니다. 명령이 수행 한 작업을 파악할 수 있으면 계정에서 설정 한 암호를 알 수 있습니다.

답변:


9

아, 그는 것을 알 수 있다 사용할 때 사용자의 암호를 변경하는 올바른 방법 sudo. sudo를 사용하지 않는 경우에만 사용자의 이전 비밀번호를 제공해야합니다.

내 문제는 암호에 '$'문자가있어서 탈출하지 않았다는 것입니다. 결과적으로 $ 문자 이전에 암호가 잘 렸습니다.


이는 암호를 thePa $$ word로 변경하는 올바른 명령은 다음과 같습니다. sudo dscl. passwd / Users / administrator thePa \ $ \ $ word 맞습니까?
Mark

1
나는 단지 논쟁 ( sudo dscl . passwd /Users/administrator "thePa$$word")을 인용 할 것이다
MaxGabriel

2
콘솔에서이 작업을 수행하는 경우 암호를 제공하지 마십시오. dscl메시지를 표시하므로 명령 기록에 중요한 정보를 남길 위험이 없습니다.
Marcelo Cantos
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.