getent 返回的值与 /etc/password 不同

getent 返回的值与 /etc/password 不同

我遇到了一个问题,新用户无法加载 /bin/bash shell。它说

Could not chdir to home directory /bin/bash: Not a directory
-sh: /bin/bash/.profile: Not a directory

因此我检查了主文件夹并且一切正常:

drwx------   2 testuser testuser    76 Jun 10 16:52 testuser

在 less 中查看/etc/passwd它显示的文件为

testuser:x:1417:10:/home/testuser:/bin/bash

但如果我输入,getent passwd testuser我会得到这个:

testuser:x:1417:10:/home/testuser:/bin/bash:

注意结尾的冒号。查看其他用户,这显然是问题所在,但它发生在哪里?如上所示,上面的 /etc/password 看起来没问题。

编辑: pwck -r返回以下内容

invalid password file entry
delete line 'testuser:x:1417:10:/home/testuser:/bin/bash'? No
no matching password file entry in /etc/passwd
delete line 'testuser:!!:18423:0:99999:7:::'? No
pwck: no changes

相关内容