Как сбросить настройки безопасности Jenkins из командной строки? - PullRequest
203 голосов
/ 09 августа 2011

Есть ли способ сбросить все (или просто отключить настройки безопасности) из командной строки без имени пользователя / пароля, поскольку мне удалось полностью заблокировать себя из Jenkins?

Ответы [ 22 ]

0 голосов
/ 06 октября 2013

У меня была похожая проблема, и после ответа от ArtB,

я обнаружил, что у моего пользователя не было правильной конфигурации.так что я сделал:

Примечание: ручное изменение таких XML-файлов рискованно.Делайте это на свой страх и риск.Так как я был уже заблокирован, мне было нечего терять.AFAIK В худшем случае я бы удалил файл ~ / .jenkins / config.xml, как упоминалось в предыдущем сообщении.

**> 1. ssh на машину jenkins

  1. cd ~ / .jenkins (я полагаю, что некоторые установки помещают его в /var/lib/jenkins/config.xml, но не в моем случае)
  2. vi config.xml и в теге authorizationStrategy xml, добавьте следующий раздел (только что использовал мое имя пользователя вместо "put-your-username")
  3. перезагрузите jenkins.в моём случае как root служба tomcat7 остановится;;service tomcat7 start
  4. Попробуйте войти еще раз.(работал для меня) **

под

добавить:

<permission>hudson.model.Computer.Build:put-your-username</permission>
<permission>hudson.model.Computer.Configure:put-your-username</permission>
<permission>hudson.model.Computer.Connect:put-your-username</permission>
<permission>hudson.model.Computer.Create:put-your-username</permission>
<permission>hudson.model.Computer.Delete:put-your-username</permission>
<permission>hudson.model.Computer.Disconnect:put-your-username</permission>
<permission>hudson.model.Hudson.Administer:put-your-username</permission>
<permission>hudson.model.Hudson.ConfigureUpdateCenter:put-your-username</permission>
<permission>hudson.model.Hudson.Read:put-your-username</permission>
<permission>hudson.model.Hudson.RunScripts:put-your-username</permission>
<permission>hudson.model.Hudson.UploadPlugins:put-your-username</permission>
<permission>hudson.model.Item.Build:put-your-username</permission>
<permission>hudson.model.Item.Cancel:put-your-username</permission>
<permission>hudson.model.Item.Configure:put-your-username</permission>
<permission>hudson.model.Item.Create:put-your-username</permission>
<permission>hudson.model.Item.Delete:put-your-username</permission>
<permission>hudson.model.Item.Discover:put-your-username</permission>
<permission>hudson.model.Item.Read:put-your-username</permission>
<permission>hudson.model.Item.Workspace:put-your-username</permission>
<permission>hudson.model.Run.Delete:put-your-username</permission>
<permission>hudson.model.Run.Update:put-your-username</permission>
<permission>hudson.model.View.Configure:put-your-username</permission>
<permission>hudson.model.View.Create:put-your-username</permission>
<permission>hudson.model.View.Delete:put-your-username</permission>
<permission>hudson.model.View.Read:put-your-username</permission>
<permission>hudson.scm.SCM.Tag:put-your-username</permission>

Теперь вы можете идти в разных направлениях.Например, у меня была интеграция с github oauth, поэтому я мог попытаться заменить authorizationStrategy на что-то вроде следующего:

Примечание: в моем случае это работало, потому что у меня был специальный плагин github oauth, который уже былсконфигурировано.Так что это более рискованно, чем предыдущее решение.

  <authorizationStrategy class="org.jenkinsci.plugins.GithubAuthorizationStrategy" plugin="github-oauth@0.14">
    <rootACL>
      <organizationNameList class="linked-list">
        <string></string>
      </organizationNameList>
      <adminUserNameList class="linked-list">
        <string>put-your-username</string>
        <string>username2</string>
        <string>username3</string>
        <string>username_4_etc_put_username_that_will_become_administrator</string>
      </adminUserNameList>
      <authenticatedUserReadPermission>true</authenticatedUserReadPermission>
      <allowGithubWebHookPermission>false</allowGithubWebHookPermission>
      <allowCcTrayPermission>false</allowCcTrayPermission>
      <allowAnonymousReadPermission>false</allowAnonymousReadPermission>
    </rootACL>
  </authorizationStrategy>
0 голосов
/ 17 октября 2013

Отредактируйте файл $ JENKINS_HOME / config.xml и измените конфигурацию безопасности следующим образом:

<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>

После этого перезапустите Jenkins.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...