Plus précisément, j'essaye de tester quelque chose sur mon serveur de build en passant à l'utilisateur "jenkins":
sudo su - jenkins
No passwd entry for user 'jenkins'
Plus précisément, j'essaye de tester quelque chose sur mon serveur de build en passant à l'utilisateur "jenkins":
sudo su - jenkins
No passwd entry for user 'jenkins'
Réponses:
Le message d'erreur est assez explicite. Il indique que l'utilisateur jenkins
n'a aucune entrée dans le /etc/passwd
fichier, c'est-à-dire que l'utilisateur n'existe pas dans le système.
Lorsque vous effectuez des opérations liées à l'utilisateur qui nécessitent un nom d'utilisateur, un mot de passe, un répertoire personnel, des informations sur le shell, le /etc/passwd
fichier est consulté en premier. Aucune entrée dans ce fichier ne conduit à l'erreur même que vous obtenez. Vous devez donc d'abord créer l'utilisateur ( useradd
/ adduser
). En remarque, sauf si nécessaire, vous devez créer un utilisateur spécifique au service (non humain), par exemple en jenkins
tant qu'utilisateur système.
/etc/passwd
). Sur la plupart des systèmes modernes, les mots de passe en tant que tels sont stockés ailleurs - souvent dans /etc/shadow
.
Après une recherche rapide de "Liste de tous les utilisateurs sous Linux", j'ai trouvé cette réponse et j'ai exécuté la commande suivante:
cut -d: -f1 /etc/passwd
et, comme l'a suggéré @Ipor Sircer, cet utilisateur n'existe pas réellement, et je dois l'ajouter avec:
adduser jenkins
jenkins
utilisateur par vous-même est-elle la même que celle créée par jenkins lui-même?
adduser jenkins