[linux] 명령 줄에서 Jenkins 보안 설정을 재설정하는 방법은 무엇입니까?

내가 완전히 자신을 잠그는 것처럼 사용자 / 암호없이 명령 줄에서 모든 것을 재설정하거나 보안 설정을 비활성화하는 방법이 Jenkins있습니까?



답변

가장 간단한 해결책은 보안을 완전히 비활성화 true하는 것 false입니다 /var/lib/jenkins/config.xml. 파일 에서 변경 하십시오.

<useSecurity>true</useSecurity>

그런 다음 Jenkins를 다시 시작하십시오.

sudo service jenkins restart

그런 다음 관리자 패널로 이동하여 모든 것을 다시 한 번 설정하십시오.

내 경우에 도커의 k8s 포드 내에서 Jenkins를 실행하는 경우 service명령을 실행할 수 없으면 포드를 삭제하여 Jenkins를 다시 시작할 수 있습니다.

kubectl delete pod <jenkins-pod-name>

명령이 실행되면 k8은 이전 포드를 종료하고 새 포드를 시작합니다.


답변

다른 방법은 사용자의 구성 파일 (예 : /var/lib/jenkins/users/username/config.xml)을 수동으로 편집하고 passwordHash 의 내용을 업데이트하는 것입니다 .

<passwordHash>#jbcrypt:$2a$10$razd3L1aXndFfBNHO95aj.IVrFydsxkcQCcLmujmFQzll3hcUrY7S</passwordHash>

이 작업을 완료하면 Jenkins를 다시 시작하고 다음 비밀번호를 사용하여 로그인하십시오.

test


답변

문제의 파일을 / var / lib / jenkins에있는 config.xml이라는 파일에서 발견하여 문제를 해결했습니다.


답변

<passwordHash>요소 users/<username>/config.xml는 형식의 데이터를 받아들입니다.

salt:sha256("password{salt}")

따라서 소금이 bar있고 암호가 있으면 foo다음과 같이 SHA256을 생성 할 수 있습니다.

echo -n 'foo{bar}' | sha256sum

7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349결과적으로 얻어야 합니다. 해시를 가져 와서 소금으로 넣으십시오 <passwordHash>.

<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>

Jenkins를 다시 시작한 다음 password로 로그인하십시오 foo. 그런 다음 비밀번호를 다른 것으로 재설정하십시오. Jenkins는 기본적으로 bcrypt를 사용하며 한 라운드의 SHA256은 비밀번호를 저장하는 안전한 방법이 아닙니다. 비밀번호를 재설정하면 bcrypt 해시가 저장됩니다.


답변

El-Capitan에서는 config.xml 을 찾을 수 없습니다.

/ var / lib / jenkins /

사용 가능

~ / .jenkins

그런 다음 언급 한대로 config.xml 파일을 열고 다음을 변경하십시오.

  • 이에서 교체 <useSecurity>true</useSecurity><useSecurity>false</useSecurity>

  • 제거 <authorizationStrategy>하고<securityRealm>

  • 저장하고 jenkins를 다시 시작하십시오 ( sudo service jenkins restart )


답변

수정에 대한 답변이 정확했습니다. 그러나 /var/lib/jenkins/config.xml“프로젝트 기반 매트릭스 인증 전략”을 활성화 한 경우 다음과 같은 내용이 언급되어야한다고 생각합니다 . /var/lib/jenkins/config.xml젠킨스를 삭제 하고 다시 시작하면 트릭이 수행됩니다. 또한 /var/lib/jenkins/users처음부터 시작하기 위해 사용자를 삭제했습니다 .

<authorizationStrategy class="hudson.security.ProjectMatrixAuthorizationStrategy">
    <permission>hudson.model.Computer.Configure:jenkins-admin</permission>
    <permission>hudson.model.Computer.Connect:jenkins-admin</permission>
    <permission>hudson.model.Computer.Create:jenkins-admin</permission>
    <permission>hudson.model.Computer.Delete:jenkins-admin</permission>
    <permission>hudson.model.Computer.Disconnect:jenkins-admin</permission>
    <!-- if this is missing for your user and it is the only one, bad luck -->
    <permission>hudson.model.Hudson.Administer:jenkins-admin</permission>
    <permission>hudson.model.Hudson.Read:jenkins-admin</permission>
    <permission>hudson.model.Hudson.RunScripts:jenkins-admin</permission>
    <permission>hudson.model.Item.Build:jenkins-admin</permission>
    <permission>hudson.model.Item.Cancel:jenkins-admin</permission>
    <permission>hudson.model.Item.Configure:jenkins-admin</permission>
    <permission>hudson.model.Item.Create:jenkins-admin</permission>
    <permission>hudson.model.Item.Delete:jenkins-admin</permission>
    <permission>hudson.model.Item.Discover:jenkins-admin</permission>
    <permission>hudson.model.Item.Read:jenkins-admin</permission>
    <permission>hudson.model.Item.Workspace:jenkins-admin</permission>
    <permission>hudson.model.View.Configure:jenkins-admin</permission>
    <permission>hudson.model.View.Create:jenkins-admin</permission>
    <permission>hudson.model.View.Delete:jenkins-admin</permission>
    <permission>hudson.model.View.Read:jenkins-admin</permission>
  </authorizationStrategy>


답변

매트릭스 권한을 사용하는 경우 보안을 비활성화하지 않고 재설정하려면 (다른 로그인 방법에 쉽게 적용 할 수 있음) :

  1. 에서 config.xml로 설정 disableSignup하십시오 false.
  2. Jenkins를 다시 시작하십시오 .
  3. Jenkins 웹 페이지로 이동하여 새 사용자로 가입 하십시오 .
  4. 에서 config.xml의 하나의 복제, <permission>hudson.model.Hudson.Administer:username</permission>라인 및 교체username 새 사용자와 함께.
  5. 개인 서버 인 경우 disableSignup다시로 설정하십시오 true.config.xml .
  6. 재시작Jenkins를 .
  7. Jenkins 웹 페이지로 이동 하여 새 사용자로 로그인 하십시오. .
  8. 비밀번호 재설정원래 사용자 를 .
  9. 원래 사용자로 로그인하십시오 .

선택적 정리 :

  1. 새 사용자를 삭제하십시오.
  2. 에서 임시 <permission>줄을 삭제하십시오 config.xml.

이 답변 동안 유가 증권은 피해를 입지 않았습니다.