我觉得这应该是直截了当的,但我从未见过有人问过我能说出来的问题。情况非常简单。每当我成为用户时,即su user
它总是在 /root 目录而不是主目录中启动。让我演示给你看。
[root@st-test2 ~]# grep "postgres" /etc/passwd
postgres:x:26:26:PostgreSQL Server:/var/lib/pgsql/:/bin/bash
[root@st-test2 ~]# su postgres
bash-4.2$ pwd
/root
[root@st-test2 ~]# ls -lhart /var/lib |grep postgres
drwx------. 4 postgres postgres 86 May 5 16:07 pgsql
Run Code Online (Sandbox Code Playgroud)
因此,您可以看到 postgres 用户的主目录存在并且其设置在 /etc/passwd 中...但出于某种原因,它们从根目录开始。我创建的每个用户都会发生这种情况,我不知道为什么。我也不能说我以前见过这种情况。