具体来说,我尝试通过切换到“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