Каким-то образом мне удалось установить passwd для моего пользователя _postgres в моей ОС вместо того, чтобы установить его для роли postgres, которую я имею в качестве суперпользователя / root. В любом случае, с тех пор я боролся с тем, чтобы этот пользователь появлялся в разделе учетной записи и на экране входа в систему, чего я действительно хотел бы избежать. Я прочитал несколько документов об этом, и установка пароля *
должна быть все, что нужно, чтобы это исправить. Но после нескольких попыток сделать это с и без dscl безрезультатно, я дошел до того, что не знаю, что делать дальше.
Я не думал, что это будет даже трудно сделать, но, очевидно, я что-то упускаю, так как ты это делаешь?
macos
osx-snow-leopard
passwords
user-accounts
login-screen
googletorp
источник
источник
Ответы:
Самый простой способ скрыть пользователей системы (если их идентификатор пользователя <500) в окне входа в систему - это выполнить следующую команду:
Кроме того, вы можете вручную скрыть только имя пользователя, запустив
Чтобы скрыть элемент «Другие ...» из окна входа в систему, если это необходимо:
источник
Это создает пользователя, который виден в sysprefs / Accounts.
Это скрывает пользователя. Убедитесь, что вы указали "*", иначе это не сработает.
РЕДАКТИРОВАТЬ : мне случайно удалось воссоздать ситуацию googletorp не в состоянии скрыть пользователя, установив его пароль "*", и я обнаружил, как это исправить. На этот раз я создал пользователя с помощью dsimport, например так:
Но в этой команде символ * используется для представления буквального односимвольного пароля
*
, поэтому dsimport создает для пользователя свойство AuthenticationAuthority и задает для свойства пароля теневой хэш*
(который отображается как********
в dscl, как и для всех пароли). После этого, попытка установить пароль на «*» с помощью dscl просто продолжает устанавливать пароль на литерал*
, а не отключать пароль. Решение состоит в том, чтобы удалить нежелательное свойство, а затем отключить пароль:Это скрывает пользователя.
источник
dscl . -create /Users/test Password \*
На случай, если вы не нашли жизнеспособного решения (или если кто-то другой найдет этот вопрос в Google), настройте оболочку пользователя таким образом, чтобы он
/usr/bin/false
не мог войти в систему и скрыл ее от экрана входа в систему и от системных настроек. Для этого используйте следующую командную строку:И чтобы отменить изменение:
Где
[username]
имя пользователя, которого вы хотите скрыть (_postgres
я полагаю, в вашем случае). Я не знаю, почемуdscl
сначала нужно старое значение, но это то, что написано на man-странице, и оно работает довольно хорошо.источник
sudo -s -u _postgres
из учетной записи администратора, чтобы получить оболочку как_postgres
; это будет работать, даже если егоUserShell
установить на/usr/bin/false
. Кроме того, не устанавливает ли пароль пароль «no password», как вы пытались это сделать, также отключает учетную запись?