Utilisation de «su -» pour changer d'utilisateur étant donné «Aucune entrée de mot de passe pour l'utilisateur»

16

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'
kevlarjacket
la source
1
adduser jenkins
Ipor Sircer du
@IporSircer Merci, oui, il semble qu'il n'y ait pas d'utilisateur jenkins.
kevlarjacket

Réponses:

10

Le message d'erreur est assez explicite. Il indique que l'utilisateur jenkinsn'a aucune entrée dans le /etc/passwdfichier, 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/passwdfichier 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 jenkinstant qu'utilisateur système.

heemayl
la source
11
Je dirais que cela ne va pas de soi. L'erreur concerne un mot de passe et le problème est la non-existence d'un utilisateur. Si l'erreur était l'utilisateur n'existe pas, cela serait explicite.
YannickSSE
1
@YannickSSE le message d'erreur ne concerne pas le mot de passe, il s'agit de passwd qui est la base de données traditionnelle des comptes d'utilisateurs sur un système (résidant en /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.
peterph
4

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
kevlarjacket
la source
Cela a-t-il résolu votre problème? La création d'un jenkinsutilisateur par vous-même est-elle la même que celle créée par jenkins lui-même?
reiley