dscl . create /Users/test
dscl . create /Users/test UniqueID 420
dscl . create /Users/test PrimaryGroupID 420
dscl . create /Users/test UserShell /bin/bash
dscl . create /Users/test NFSHomeDirectory /tmp
dscl . create /Users/test RealName Test
dscl . create /Users/test Password test
sysprefs / Accounts에 보이는 사용자를 만듭니다.
dscl . create /Users/test Password "*"
이것은 사용자를 숨 깁니다. "*"를 인용하지 않으면 작동하지 않습니다.
편집 : 실수로 비밀번호를 "*"로 설정하여 사용자를 숨길 수없는 googletorp의 상황을 재현 할 수 있었고 문제를 해결하는 방법을 발견했습니다. 이번에는 dsimport를 사용하여 다음과 같이 사용자를 만들었습니다.
dsimport /dev/fd/0 /Local/Default I --template StandardUser << EOF
test:*:520:520:Test user:/Users/test:/bin/bash
EOF
그러나이 명령에서 *는 문자 그대로의 한 문자 비밀번호를 나타내는 것으로 *
간주되므로 dsimport는 사용자에 대한 AuthenticationAuthority 특성을 작성하고 password 특성을 쉐도우 해시 *
( ********
dscl에 표시됨)로 설정합니다. 비밀번호). 그런 다음 dscl을 사용하여 비밀번호를 "*"로 설정하려고하면 비밀번호를 *
비활성화하는 대신 비밀번호를 리터럴 로 설정하면됩니다. 해결책은 원치 않는 속성을 삭제 한 다음 암호를 비활성화하는 것입니다.
sudo dscl . delete /Users/test AuthenticationAuthority
sudo dscl . create /Users/test Password "*"
이것은 사용자를 숨 깁니다.