web-dev-qa-db-fra.com

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

Plus précisément, j'essaie de tester quelque chose sur mon serveur de build en passant à l'utilisateur "jenkins":

Sudo su - jenkins
No passwd entry for user 'jenkins'
17
kevlarjacket

Le message d'erreur est assez explicite. Il indique que l'utilisateur jenkins n'a pas d'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 le 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 jenkins en tant qu'utilisateur système.

10
heemayl

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
4
kevlarjacket