使用“su - ”更改用户给出“没有用户的密码条目”

使用“su - ”更改用户给出“没有用户的密码条目”

具体来说,我尝试通过切换到“jenkins”用户在我的构建服务器上测试一些东西:

sudo su - jenkins
No passwd entry for user 'jenkins'

答案1

该错误消息几乎是不言自明的。它表示该用户jenkins在文件中没有条目/etc/passwd,即该用户在系统中不存在。

当您执行任何需要用户名、密码、主目录、shell 信息的用户相关操作时,/etc/passwd首先会查阅该文件。该文件中没有任何条目会导致您遇到的错误。所以您需要先创建用户(useradd/ adduser)。作为旁注,除非有必要,否则您应该创建任何服务特定用户(非人类),例如jenkins作为系统用户。

答案2

快速搜索“列出 Linux 中的所有用户”后,我发现这个答案并运行以下命令:

cut -d: -f1 /etc/passwd

并且,正如 @Ipor Sircer 所建议的,该用户实际上并不存在,我必须添加它:

adduser jenkins

相关内容