Изменить/Поменять пароль для пользователя Jenkins
Недавно у меня на работе забыли пароль от пользователя в Jenkins и попросили помочь. Решение будет описано в моей статье «Изменить/Поменять пароль для пользователя Jenkins» в более подробной форме.
Открываем:
vim /var/lib/jenkins/users/YOUR_USER/config.xml
У меня он выглядит следующим образом:
<?xml version='1.0' encoding='UTF-8'?>
<user>
<fullName>captain</fullName>
<properties>
<jenkins.security.ApiTokenProperty>
<apiToken>ZcHHZXEY+WPWZUlDMJPwyu6fUxe7QFQ9XOj1edGRw1YrEvcoNA6lNBF75tImQwVC</apiToken>
</jenkins.security.ApiTokenProperty>
<com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty plugin="credentials@2.1.10">
<domainCredentialsMap class="hudson.util.CopyOnWriteMap$Hash"/>
</com.cloudbees.plugins.credentials.UserCredentialsProvider_-UserCredentialsProperty>
<hudson.plugins.emailext.watching.EmailExtWatchAction_-UserProperty plugin="email-ext@2.52">
<triggers/>
</hudson.plugins.emailext.watching.EmailExtWatchAction_-UserProperty>
<hudson.model.MyViewsProperty>
<views>
<hudson.model.AllView>
<owner class="hudson.model.MyViewsProperty" reference="../../.."/>
<name>Все</name>
<filterExecutors>false</filterExecutors>
<filterQueue>false</filterQueue>
<properties class="hudson.model.View$PropertyList"/>
</hudson.model.AllView>
</views>
</hudson.model.MyViewsProperty>
<hudson.model.PaneStatusProperties>
<collapsed/>
</hudson.model.PaneStatusProperties>
<hudson.search.UserSearchProperty>
<insensitiveSearch>false</insensitiveSearch>
</hudson.search.UserSearchProperty>
<hudson.security.HudsonPrivateSecurityRealm_-Details>
<passwordHash>#jbcrypt:$2a$10$CvGnM0RZ1TVdbArLKvI5heQEpUj7//p4MZrT4Tx09vwg4G1Fpflg.</passwordHash>
</hudson.security.HudsonPrivateSecurityRealm_-Details>
<hudson.tasks.Mailer_-UserProperty plugin="mailer@1.18">
<emailAddress>captain@captain.com</emailAddress>
</hudson.tasks.Mailer_-UserProperty>
<jenkins.security.LastGrantedAuthoritiesProperty>
<roles>
<string>authenticated</string>
</roles>
<timestamp>1481706204534</timestamp>
</jenkins.security.LastGrantedAuthoritiesProperty>
</properties>
</user>Как можно было догадаться, мой пользователь — captain. Пароль от данного пользователя представлен в поле «passwordHash» — это его хэш и чтобы поменять пароль, необходимо сгенерировать хеш от нужного вам пароля.
Это можно сделать несколькими способами:
- Использовать онлайн генераторы
- Через терминал в Unix/Linux
Мной был выбран онлайн генератор — bcrypthashgenerator.apphbТУТточкаСТОИТcom
Замените «ТУТточкаСТОИТ» на точку и перейдите на сайт.
А вы авантюрист: светить всему миру apiToken — это достойно…
Начнем с того, что — это локальная машина! Во вторых, я не такой человек чтобы оставлять правдивую информацию на сайте ( я за токены, API, логины, пароль и подобную информацию). Как-то так 😉