为什么postgres用户的目录没有出现在linux的HOME目录中与其他用户一起?

时间:2013-05-22 13:26:13

标签: linux postgresql

我是postgreSQL和Linux的新手。我刚刚安装它并发现它创建了自己的用户postgres。我非常肯定,因为您甚至可以在GUI模式下以几乎所有Linux发行版的身份登录此用户(尝试使用ubuntu和fedora)。但是在主文件夹中找不到与此用户相关的单个目录。 cat / etc / passwd | grep / home | cut -d:-f1 尝试上面的方法来查看所有用户,你不会在那里有postgres。 更改postgres的密码 切换到root使用 苏 并使用 passwd postgres 更改密码,然后使用切换用户登录gui。该帐户功能齐全。 但为什么HOME文件夹中没有此用户的目录? 请在答案中提供linux和postgresql的完整工作细节。 提前致谢!! :)

1 个答案:

答案 0 :(得分:4)

PostgreSQL的专用用户是一种安全措施,因此数据库进程可以使用该用户(有限的)权限运行,而不是作为 root 运行。

您是否可以实际登录该用户,以及该用户的主目录应该是什么,是包维护者/ Linux发行版的决定。由于postgresql用户不应该(ab-)仅用作另一个用户(具有自己的桌面设置,用户数据等),我不会质疑不给它回家的智慧,而是为什么他能够登录在第一时间。

编辑:对于PostgreSQL的精细印刷一无所知,并且对你的问题的措辞有点困惑,我对一般情况进行了论证。 Ignacio指出你必须实际破坏系统(用root权限解锁用户的密码)甚至以postgresql用户身份登录。所以答案可以更简单:

用户在/home中没有目录,因为您不应该以该用户身份登录。这是为了在没有root权限的情况下运行数据库进程,没有别的。

(请注意,您可以使用相同的技术,以用户man或用户lp或用户mail登录。您可以,但这没有意义,解锁这些用户的密码实际上会削弱系统的安全性。)