Невозможно отправить запрос пользователю jenkins после установки Jenkins

97

Я установил jenkins и пытаюсь войти в оболочку как Jenkins, чтобы добавить ключ ssh. Кажется, я не могу проникнуть в пользователя jenkins:

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

Пользователь jenkins существует в моем файле / etc / passwd. Раннин su jenkinsспрашивает пароль, но отклоняет мой обычный пароль. sudo su jenkinsкажется, ничего не делает; то же самое для sudo su - jenkins. Я использую CentOS.

сфенделл
источник
пользователь существует ... но, вероятно, не имеет оболочки, см. superuser.com/questions/566041/…
thekbb 06
Вам не нужно sudo, когда вы root. Хотя это не больно.
thekbb 06
12
sudo usermod -s /bin/bash jenkins
jgb 06
1
не добавляйте оболочку к jenkins - она ​​отсутствует по замыслу. Обычно вы не хотите, чтобы учетные записи служб могли входить в систему в интерактивном режиме.
thekbb 06

Ответы:

238

jenkins - это сервисный аккаунт, у него нет оболочки по дизайну. Принято считать, что учетные записи служб не должны иметь возможность интерактивного входа в систему.

Сначала я не ответил на этот вопрос, так как это дубликат вопроса, перенесенного на ошибку сервера . Я должен был ответить, а не ссылаться на ответ в комментарии.

если по какой-то причине вы хотите войти как jenkins, вы можете сделать это с помощью: sudo su -s /bin/bash jenkins

thekbb
источник
8
Благодарность! Я понимаю, что добавление оболочки к jenkins кажется плохой идеей; Я просто делал это, потому что в моем процессе сборки были команды, которые у меня не было проблем с запуском из моей оболочки, но сборка терпела неудачу, потому что она не могла их запустить. Я хотел войти как Дженкинс и посмотреть, есть ли проблемы с разрешениями.
sfendell
отредактировал ответ, чтобы включить точно правильную информацию @mrg о необходимости sudo.
thekbb
1
есть ли пароль по умолчанию, который он запрашивает, потому что я не помню, как устанавливал пароль при установке.
Джо Ллойд
@mrg Какой пароль вы использовали?
Nabin
@JoeLloyd Вы придумали пароль по умолчанию? Какой пароль?
Nabin
1

Используйте следующую команду:

su -s /bin/bash jenkins
Судипто Дас
источник
-1

Если вы используете jenkins внутри docker. Тогда вам следует попробовать следующее.

  • Сначала вам нужно запустить контейнер jenkins "docker start (имя-контейнера или идентификатор-контейнера)"

  • Затем запустите эту команду «docker exec -it (имя-контейнера или идентификатор-контейнера) bash»

Теперь, надеюсь, вы будете использовать как пользователь jenkins.

Ашик Ахмед
источник
-11

как root введите su - jenkins

Также проверьте в / etc / passwd, что пользователю jenkins разрешено входить в систему: в конце строки должно быть что-то вроде / bin / bash или / bin / sh , но не / bin / false .

Подсказка: нельзя использовать su и sudo одновременно.

Ротчер
источник
1
это именно та команда, которую пытался ОП ... вы правы в том, почему Дженкинс не может войти в систему, но я не согласен с вашим решением.
thekbb