Скрыть пользователей с экрана входа в систему Mac OS X Snow Leopard

Так или иначе, мне удалось установить passwd для моего пользователя _postgres в моей ОС, а не устанавливать его в роли postgres, которую у меня есть как мой суперпользователь / root. В любом случае, начиная с этого, я боролся с этим пользователем, появляющимся в разделе учетной записи и экране входа в систему, чего я действительно хотел бы избежать. Я прочитал некоторые документы об этом, и установка пароля для * должна быть всем, что необходимо для исправления этого. Но после нескольких попыток сделать это с помощью dscl и без него, я дошел до такой степени, что больше не знаю, что делать.

Я не думал, что это будет даже трудно сделать, но, очевидно, я чего-то не хватает, так как вы это делаете?

  • Зачем мне вводить пароль для разблокировки по умолчанию?
  • Mysql (mariadb) ERROR 1698 (28000): доступ запрещен для пользователя 'root' @ 'localhost'
  • Предварительно санкционируйте sudo? (Так что это можно запустить позже)
  • Проблема с сохраненными паролями в Chrome
  • Я не могу изменить системные файлы из CMD
  • Могу ли я настроить загрузку Windows без остановки проверки пароля даже при установке пароля?
  • Как включить список каталогов в Apache в Mac OS X
  • Воспроизведение видеофайлов в медиаплеере VLC из-за базовых URL-адресов аутентификации HTTP без пароля
  • Mac OS X Terminal: поддержка мыши?
  • Как компьютер / ОС сообщают, какая оперативная память находится в машине?
  • Как отключить уведомления Facebook в Mac OS X?
  • Использование Python на Mac
  • 3 Solutions collect form web for “Скрыть пользователей с экрана входа в систему Mac OS X Snow Leopard”

    Самый простой способ сокрытия системных пользователей (если их идентификатор пользователя <500) в окне входа в систему – запустить следующую команду:

     sudo defaults write /Library/Preferences/com.apple.loginwindow Hide500Users -bool TRUE 

    Кроме того, вы можете вручную скрыть только имя пользователя, запустив

     sudo defaults write /Library/Preferences/com.apple.loginwindow HiddenUsersList -array-add '_postgres' 

    Чтобы скрыть элемент «Другие …» из окна входа в систему, если необходимо:

     sudo defaults write /Library/Preferences/com.apple.loginwindow SHOWOTHERUSERS_MANAGED -bool FALSE 
     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 "*" 

    Это скрывает пользователя. Убедитесь, что вы указываете «*», или он не будет работать.

    EDIT : мне случайно удалось воссоздать ситуацию с 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 "*" 

    Это скрывает пользователя.

    На всякий случай, если вы не нашли жизнеспособного решения (или, если кто-то другой найдет этот вопрос у Google), установка оболочки пользователя в /usr/bin/false позволяет ему войти в систему и скрывает ее от экрана входа в систему и из системные настройки. Для этого используйте следующую командную строку:

     sudo dscl . -change /Users/[username] UserShell /bin/bash /usr/bin/false 

    И чтобы вернуть изменение:

     sudo dscl . -change /Users/[username] UserShell /usr/bin/false /bin/bash 

    Где [username] – имя пользователя, которого вы хотите скрыть ( _postgres в вашем случае я предполагаю). Я не знаю, почему dscl хочет старое значение, но это то, что написано в manpage, и оно работает очень хорошо.

    Давайте будем гением компьютера.