Como su a outro usuário no Mac OS X?

4

Eu vim do mundo Linux e não estou familiarizado com o administrador do OS X. Agora eu quero su para outro usuário, mas simplesmente não está funcionando ... Onde está errado aqui?

smallufo@miniserver:~ $ whoami
smallufo
smallufo@miniserver:~ $ su - postgres
Password:
smallufo@miniserver:~ $ whoami
smallufo
smallufo@miniserver:~ $

Eu introduzo a senha correta, mas por que não posso su postgres?

Desculpe se é uma pergunta idiota, mas fiquei preso a noite inteira ...

Muito obrigado!

    
por smallufo 01.11.2011 / 17:59

2 respostas

5

su deve funcionar normalmente no OS X. @ A ideia de Scott Warren sobre o shell do usuário postgres é uma explicação possível, mas o OS X não usa o / etc / passwd exceto durante a inicialização. Usuários normais (e grupos, etc.) são armazenados em arquivos .plist em / var / db / dslocal / nodes / Default /. A maneira fácil de olhar (e modificá-los) é com o comando dscl :

dscl . -read /Users/postgres  # prints all user attributes
dscl . -read /Users/postgres UserShell # prints just the default shell

Se necessário, você pode definir o shell da mesma maneira:

sudo dscl . -create /Users/postgres UserShell /bin/bash
    
por 02.11.2011 / 02:33
2

Eu não tenho o Postgres instalado, mas verifique seu arquivo / etc / passwd. A última entrada para essa conta de usuário será o shell que o usuário usa. No meu arquivo passwd, as contas que não devem efetuar login (_lp, _postfix, etc.) Possuem um shell de / usr / bin / false, mas as contas que podem efetuar login são geralmente / bin / sh.

    
por 01.11.2011 / 18:18

Tags