如何在Mac OS X中的其他用户?

我来自Linux世界,并不熟悉OS Xpipe理员。 现在我想su到另一个用户,但它只是不工作…这里哪里出了问题?

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

我input正确的密码,但为什么我不能su到postgres?

对不起,如果这是一个愚蠢的问题,但我一直坚持它整个晚上…

非常感谢 !

su应该在OS X中正常工作。@Scott Warren关于postgres用户的shell的想法是一个可能的解释,但OS X除了在启动时不使用/ etc / passwd。 普通用户(和组等)存储在/ var / db / dslocal / nodes / Default /下的.plist文件中。 查看(和修改)它们的简单方法是使用dscl命令:

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

如有必要,可以用相同的方法设置shell:

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

我没有安装Postgres,但检查你的/ etc / passwd文件。 该用户帐户的最后一项将是用户使用的shell。 在我的passwd文件中,不应该login的帐户(_lp,_postfix等)具有/ usr / bin / false的shell,但是可以login的帐户通常是/ bin / sh。