21

I have a redhat linux server running jenkins. I setup jenkins as per the instructions mentioned here https://wiki.jenkins-ci.org/display/JENKINS/Installing+Jenkins+on+Red+Hat+distributions The problem is that I need to switch to the jenkins user in order to solve an ssh connection issue, but I cannot.

I try

su - jenkins

however after I enter that, the terminal remains[root@redhat ~]# and a whoami reveals that I am still root I have looked at the files /etc/passwd etc/shadow and see that jenkins is a user, but I don't have enough experience to tell what I have done wrong in setting up this jenkins user.

any ideas would be helpful, or places to look for clues?

3 Answers 3

38

is jenkins a service account with no shell configured in /etc/password If that's it try sudo su -s /bin/bash jenkins

2
  • 8
    That's the way! Now for anyone that has similar problems /var/lib/jenkins acts as the home dir for jenkins user and will have .ssh
    – OrwellHindenberg
    Mar 14, 2013 at 16:06
  • 2
    You could also run sudo -u jenkins bash
    – B2F
    Mar 6, 2015 at 14:29
1

Do not change the /etc/passwd file. The interactive login is set to false for a good reason, the list security implications is too long to describe here.

Instead, run this as root:

sudo su - jenkins -s /bin/bash
0

The other option would be to change the shell for jenkins.

Run the below command:

chsh -s /bin/bash jenkins

Now you will be able to switch as jenkins user by just passing su jenkins

1
  • Do not do this. the account lacks a shell for good reason - service accounts shouldn't be able to log in interactively. This is a security risk with no real benefit.
    – thekbb
    May 10, 2016 at 16:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .