Когда я создаю учетную запись из командной строки, я не могу войти в учетную запись с помощью команды входа

Вы успешно отправили задание at, и оно успешно распечатало дату на (ваш )терминал в /dev/pts/9. У вас также есть оболочка, которая напечатала приглашение и должным образом ожидает вашего ввода.

Это симуляция того, что произошло:

your-prompt-here$ at -f './at-test.sh' now + 1 minutes
job 1 at Fri Mar  8 20:13:00 2019
your-prompt-here$ 

...проходит одна минута; возобновить демонстрацию

your-prompt-here$ 20:14:1552093897
echo I am still here
I am still here
your-prompt-here$

Как видите, моя оболочка приняла команду echo; мой курсор просто не был там, где я «ожидал», потому что задание atнацарапало мой терминал.

3
21.12.2019, 22:34
1 ответ

Похоже, вам нужно выполнить еще несколько шагов, помимо создания пользователя и настройки его оболочки.

Если, как и вы, я запускаю следующие команды:

sudo dscl. -create /Users/hideuser
sudo dscl. -create /Users/hideuser UserShell /bin/bash

А затем проверьте пользователей в системе с dscacheutil -q user, я не вижу новую учетную запись пользователя hideuser, и если я пытаюсь войти в систему, я получаю Login incorrect.

Вам необходимо определить UID нового пользователя (ID пользователя ), выполнив следующую команду:

sudo dscl. -create /Users/hideuser UniqueID 1002

Номер после «UniqueID» (, т. е. 1002 ), должен быть идентификационным номером, который не назначен другому пользователю. Вы можете найти это, проверив вывод и посмотрев на uid, назначенный пользователям.

 dscacheutil -q user

Затем вам нужно назначить пользователю основную группу:

sudo dscl. -create /Users/hideuser PrimaryGroupID 1001.

Этот PrimaryGroupID может совпадать с UID.

Именно на этом этапе пользователь будет отображаться при запуске

dscacheutil -q user

Теперь вы можете установить пароль для учетной записи:

sudo dscl. -passwd /Users/hideuser password

Теперь этот пользователь может успешно войти в систему:

Bens-iMac:~ macuser$ login hideuser
Password:
Bens-iMac:~ hideuser$ whoami
hideuser

На этом этапе пользователь может войти в систему, но, к сожалению, он будет отображаться в списках пользователей и окне входа в систему, чтобы скрыть этого пользователя, вам нужно выполнить следующую команду:

sudo dscl. create /Users/hideuser IsHidden 1

К сожалению, это приведет к отображению параметра «Другое» в приглашении для входа в систему, чтобы скрыть это (примечание :это скроет гостевого пользователя, если он включен )вы можете выполнить следующую команду:

sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE
4
27.01.2020, 21:17

Теги

Похожие вопросы