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 и устанавливает для свойства пароля теневой хеш *
(который отображается как ********
в dscl, как и для всех пароли). После этого, попытка установить пароль на «*» с помощью dscl просто продолжает устанавливать пароль на литерал *
, а не отключать пароль. Решение состоит в том, чтобы удалить нежелательное свойство, а затем отключить пароль:
sudo dscl . delete /Users/test AuthenticationAuthority sudo dscl . create /Users/test Password "*"
Это скрывает пользователя.