Je ne peux pas suivre l'utilisateur jenkins après l'installation de Jenkins

96

J'ai installé jenkins et j'essaye d'entrer dans un shell en tant que Jenkins pour ajouter une clé ssh. Je n'arrive pas à trouver l'utilisateur jenkins:

[root@pacmandev /]# sudo su jenkins
[root@pacmandev /]# whoami
root
[root@pacmandev /]# echo $USER
root
[root@pacmandev /]# 

L'utilisateur jenkins existe dans mon fichier / etc / passwd. Runnin su jenkinsdemande un mot de passe, mais rejette mon mot de passe normal. sudo su jenkinsne semble rien faire; même pour sudo su - jenkins. Je suis sur CentOS.

sfendell
la source
l'utilisateur existe ... mais n'a probablement pas de shell, voir superuser.com/questions/566041/…
thekbb
Vous n'avez pas besoin de sudo lorsque vous êtes root. Même si ça ne fait pas mal.
thekbb
12
sudo usermod -s /bin/bash jenkins
jgb
1
n'ajoutez pas de shell à jenkins - il en manque un par conception. En règle générale, vous ne souhaitez pas que les comptes de service puissent se connecter de manière interactive.
thekbb

Réponses:

234

jenkins est un compte de service, il n'a pas de shell par conception. Il est généralement admis que les comptes de service ne doivent pas pouvoir se connecter de manière interactive.

Je n'ai pas répondu à celle-ci au départ car il s'agit d'un duplicata d'une question qui a été déplacée vers la faute du serveur . J'aurais dû répondre plutôt que lié à la réponse dans un commentaire.

si pour une raison quelconque vous souhaitez vous connecter en tant que jenkins, vous pouvez le faire avec: sudo su -s /bin/bash jenkins

thekbb
la source
8
Merci! Je comprends que l'ajout d'un shell à jenkins semble être une mauvaise idée; Je le faisais simplement parce qu'il y avait des commandes dans mon processus de construction que je n'avais aucun problème à exécuter à partir de mon shell, mais la construction échouait car elle ne pouvait pas les exécuter. Je voulais entrer en tant que jenkins et voir s'il y avait des problèmes d'autorisations.
sfendell
édité la réponse pour incorporer les informations exactes de @mrg sur le besoin sudo.
thekbb
1
y a-t-il un mot de passe par défaut qu'il demande parce que je ne me souviens pas d'avoir configuré un mot de passe lors de l'installation.
Joe Lloyd
@mrg Quel mot de passe avez-vous utilisé?
Nabin le
@JoeLloyd Avez-vous trouvé le mot de passe par défaut? Quel est le mot de passe?
Nabin le
0

Utilisez la commande ci-dessous:

su -s /bin/bash jenkins
Sudipto Das
la source
-2

Si vous utilisez jenkins à l'intérieur de docker. Alors vous devriez essayer ce qui suit.

  • Vous devez d'abord exécuter le conteneur jenkins "docker start (container-name ou container-id)"

  • Puis exécutez cette commande "docker exec -it (container-name ou container-id) bash"

J'espère maintenant que vous l'utiliserez en tant qu'utilisateur jenkins.

ashik ahmed
la source
-11

en tant que root, entrez su - jenkins

Vérifiez également dans / etc / passwd que l'utilisateur jenkins est autorisé à se connecter: il devrait y avoir quelque chose comme / bin / bash ou / bin / sh , certainement pas / bin / false à la fin de la ligne.

Astuce: vous n'utilisez pas su et sudo en même temps.

rotscher
la source
1
c'est exactement la commande que l'OP a essayée ... vous avez raison de savoir pourquoi jenkins ne peut pas se connecter - mais je ne suis pas d'accord avec votre solution.
thekbb