Я пришел из мира Linux и не знаком с администратором OS X. Теперь я хочу выполнить su другому пользователю, но он просто не работает ... Что здесь происходит не так?
smallufo@miniserver:~ $ whoami
smallufo
smallufo@miniserver:~ $ su - postgres
Password:
smallufo@miniserver:~ $ whoami
smallufo
smallufo@miniserver:~ $
Я ввожу правильный пароль, но почему я не могу использовать su to postgres?
Извините, если это тупой вопрос, но я застрял в нем всю ночь ...
Большое спасибо !
su
должен нормально работать в OS X. Идея @Scott Warren о пользовательской оболочке postgres - возможное объяснение, но OS X не использует / etc / passwd, кроме как во время загрузки. Обычные пользователи (и группы и т. Д.) Хранятся в файлах .plist в / var / db / dslocal / nodes / Default /. Самый простой способ просмотреть (и изменить) их - воспользоваться dscl
команда:
dscl . -read /Users/postgres # prints all user attributes
dscl . -read /Users/postgres UserShell # prints just the default shell
При необходимости можно так же настроить оболочку:
sudo dscl . -create /Users/postgres UserShell /bin/bash
У меня не установлен Postgres, но проверьте ваш файл / etc / passwd. Последней записью для этой учетной записи будет оболочка, которую использует пользователь. В моем файле passwd учетные записи, которые не должны входить в систему (_lp, _postfix и т. Д.), Имеют оболочку / usr / bin / false, но учетные записи, которые могут входить в систему, обычно / bin / sh.