Bagaimana cara mereset pengaturan keamanan Jenkins dari baris perintah?


217

Apakah ada cara untuk mengatur ulang semua (atau hanya menonaktifkan pengaturan keamanan) dari baris perintah tanpa pengguna / kata sandi karena saya telah berhasil mengunci diri sepenuhnya Jenkins?

Jawaban:


275

Solusi paling sederhana adalah sepenuhnya menonaktifkan keamanan - ubah trueke falsedalam /var/lib/jenkins/config.xmlfile.

<useSecurity>true</useSecurity>

Kemudian restart Jenkins, dengan

sudo service jenkins restart

Dan kemudian pergi ke panel admin dan atur semuanya sekali lagi.

Jika Anda sedang menjalankan Jenkins Anda di dalam pod k8s dari buruh pelabuhan, yang merupakan kasus saya dan tidak dapat menjalankan serviceperintah, maka Anda bisa memulai kembali Jenkins dengan menghapus pod:

kubectl delete pod <jenkins-pod-name>

Setelah perintah dikeluarkan, k8 akan menghentikan pod lama dan memulai yang baru.


3
Saya perlu memulai ulang Jenkins agar perubahan diterapkan.
Atau Arbel

12
sudo service jenkins restart
MonoThreaded

10
Untuk mereka yang tidak dapat menemukannya, config.xml digunakan find / -name "config.xml" di terminal Anda.
Laser Hawk

Setelah Mengubah tag Keamanan pengguna menjadi false untuk memulai ulang jenking dari command prompt --- stackoverflow.com/questions/14869311/…
Anurag_BEHS

1
Juga file dapat ditemukan di bawah ~ / .jenkins / folder
Andrii Abramov

181

Satu cara lain adalah mengedit file konfigurasi secara manual untuk pengguna Anda (mis. /Var/lib/jenkins/users/username/config.xml) dan memperbarui konten kata sandiHash :

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

Setelah Anda selesai melakukannya, cukup restart Jenkins dan masuk menggunakan kata sandi ini:

test

1
bagaimana jika entri ini tidak ada - di mana harus meletakkannya?
serup

2
yang <passwordHash>tag xml adalah anak <hudson.security.HudsonPrivateSecurityRealm_-Details>. Lihatlah pengguna admin default untuk gagasan tentang struktur XML total.
ivandov

2
Ini adalah solusi bagus yang membuat instalasi tetap aman. Karena penasaran, bagaimana cara menghasilkan hash kata sandi itu?
kontextify

Terima kasih, inilah tepatnya yang saya butuhkan!
Matt Cavanagh

Memodifikasi konten file yang ada di C: \ Users \ <USER> \ .jenkins \ users \ admin membantu menyelesaikan masalah ini
Sakshi Singla

45

Saya menemukan file tersebut terletak di / var / lib / jenkins bernama config.xml, memodifikasi yang memperbaiki masalah.


1
Saya menggunakan El-Capitan dan config.xml tidak dapat ditemukan di lokasi
Durai Amuthan.H

@ DuraiAmuthan.H Apakah Anda menginstalnya dengan bitnami stack? File config akan berada di/Applications/jenkins-2.19.3-0/apps/jenkins/jenkins_home/users/admin/config.xml
siegy22

@ryanzec, jawaban Nowakers menggunakan file yang sama tetapi lebih baik dijelaskan, Anda harus mempertimbangkan menerimanya sebagai jawaban yang benar.
Katu

di mana kita akan menemukan file dalam hight sierra
prabakaran iOS

44

The <passwordHash>elemen dalam users/<username>/config.xmlakan menerima data dari format

salt:sha256("password{salt}")

Jadi, jika garam Anda bardan kata sandi fooAnda, maka Anda dapat menghasilkan SHA256 seperti ini:

echo -n 'foo{bar}' | sha256sum

Anda harus mendapatkan 7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349hasilnya. Ambil hash dan masukkan garam ke dalam <passwordHash>:

<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>

Mulai ulang Jenkins, lalu coba masuk dengan kata sandi foo. Kemudian atur ulang kata sandi Anda ke sesuatu yang lain. (Jenkins menggunakan bcrypt secara default, dan satu putaran SHA256 bukan cara aman untuk menyimpan kata sandi. Anda akan mendapatkan hash bcrypt yang disimpan ketika Anda mengatur ulang kata sandi Anda.)


1
Ini sepertinya tidak berhasil. contoh dimulai dengan garam #jbscrypt dan kemudian mendefinisikan bidang terenkripsi $ 2a $ 10 $. Apa artinya ini?
jrwren

Jawaban saya berhasil untuk saya. Bidang tambahan yang Anda lihat adalah untuk format hash yang berbeda. Perpustakaan Jenkins menggunakan untuk menangani kata sandi hash mendukung lebih dari satu format. Format jbcrypt yang Anda maksud lebih aman daripada sha256 dengan garam, tetapi format sha256 + garam dapat dengan mudah dihasilkan dari baris perintah --- ingat bahwa tujuan latihan adalah kembali ke Jenkins, dan kemudian ubah kata sandi dari antarmuka web Jenkins.
uckelman

Ini juga tidak berhasil untuk saya. Saya akan mencoba mencari informasi lebih lanjut tentang bcrypt
Laurent Picquet

itu berhasil untuk saya. Saya menggunakan perintah berikut: `` `PASSWORD_DIGEST =" $ (echo -n "$ {ADMIN_PASSWORD} {$ {SALT}}" | sha256sum | awk '{print $ 1}') "echo" kata sandi digest: $ PASSWORD_DIGEST "sed -i -e "s # <passwordHash>. * </passwordHash> # <passwordHash> $ {SALT}: $ {PASSWORD_DIGEST} </passwordHash> #" "/ usr / share / jenkins / ref / pengguna / admin / config .xml "sed -i -e" s # <apiToken>. * </apiToken> # <apiToken> $ {API_TOKEN} </apiToken> # "" / usr / share / jenkins / ref / pengguna / admin / config. xml "` ``
Laurent Picquet

Terima kasih banyak. Digunakan nilai yang sama persis dan bekerja seperti pesona. Dapatkan diriku kembali dan mengatur ulang pass.

26

Di El-Capitan config.xml tidak dapat ditemukan di

/ var / lib / jenkins /

Ini tersedia di

~ / .jenkins

kemudian setelah itu seperti yang disebutkan lainnya buka file config.xml dan buat perubahan berikut

  • Dalam hal ini ganti <useSecurity>true</useSecurity>dengan<useSecurity>false</useSecurity>

  • Hapus <authorizationStrategy>dan<securityRealm>

  • Simpan dan mulai ulang jenkins ( sudo service jenkins restart )


Sebenarnya saya tidak dapat mengedit file config.xml. Ketika saya mencoba untuk menyimpannya menggunakan vim itu melemparkan bahwa itu adalah file hanya baca dan operasi untuk membuatnya akses tulis tidak diizinkan.
Emjey

19

Jawaban tentang memodifikasi itu benar. Namun, saya pikir harus disebutkan yang /var/lib/jenkins/config.xmlterlihat seperti ini jika Anda telah mengaktifkan "Strategi Otorisasi Matriks Berbasis Proyek". Menghapus /var/lib/jenkins/config.xmldan memulai ulang jenkins juga bermanfaat. Saya juga menghapus pengguna /var/lib/jenkins/usersuntuk memulai dari awal.

<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>

14

Untuk mengatur ulang tanpa menonaktifkan keamanan jika Anda menggunakan izin matriks (mungkin mudah beradaptasi dengan metode login lain):

  1. Di config.xml, atur disableSignupke false.
  2. Mulai ulang Jenkins.
  3. Buka halaman web Jenkins dan mendaftar dengan pengguna baru .
  4. Dalam config.xml, duplikat salah satu <permission>hudson.model.Hudson.Administer:username</permission>baris dan ganti usernamedengan pengguna baru.
  5. Jika itu server pribadi, mengatur disableSignupkembali ke truedalam config.xml.
  6. Mulai ulang Jenkins.
  7. Pergi ke halaman web Jenkins dan masuk sebagai pengguna baru .
  8. Setel ulang kata sandi pengguna asli.
  9. Masuk sebagai pengguna asli.

Pembersihan opsional:

  1. Hapus pengguna baru.
  2. Hapus <permission>baris sementara di config.xml.

Tidak ada sekuritas yang dirugikan selama jawaban ini.


Tambahkan ke pembersihan, setel disableSignup kembali ke true, dan mulai ulang jenkins
Marc

14

Untuk menonaktifkan keamanan Jenkins dalam langkah-langkah sederhana di Linux, jalankan perintah ini:

sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart

Ini akan menghapus useSecuritydan authorizationStrategybaris dari Andaconfig.xml file konfigurasi root dan restart Jenkins Anda.

Lihat juga: Nonaktifkan keamanan di situs web Jenkins


Setelah mendapatkan akses ke Jenkins, Anda dapat mengaktifkan kembali keamanan di halaman Konfigurasi Keamanan Global Anda dengan memilih Access Control / Security Realm . Setelah daripada jangan lupa buat pengguna admin .


Namun, itu berhasil bagi saya, mengabaikan otorisasi sekarang.
hemanto

@hemanto Anda harus mengaktifkan keamanan untuk mengaktifkan kembali otorisasi. Saya sudah memperbarui jawabannya.
kenorb

12

Jika Anda tidak sengaja mengunci diri dari Jenkins karena kesalahan izin, dan Anda tidak memiliki akses sisi server untuk beralih ke pengguna atau root jenkins ... Anda dapat membuat pekerjaan di Jenkins dan menambahkan ini ke Shell Script:

sed -i 's/<useSecurity>true/<useSecurity>false/' ~/config.xml

Kemudian klik Bangun Sekarang dan mulai ulang Jenkins (atau server jika perlu!)


1
Bagaimana Anda menciptakan pekerjaan di Jenkins kalau-kalau Anda sendiri terkunci dari itu?
GeroldBroser mengembalikan Monica

Dalam hal ini, saya memiliki jendela Chrome normal yang masuk dan saya mengubah pengaturan keamanan dan menguji di Jendela Penyamaran sebelum keluar dari jendela utama. Tes tidak membiarkan saya masuk, tetapi sesi saya bertahan di jendela utama sehingga saya bisa memperbaiki kerusakan.
Nick

1
Saya percaya bagian dari pengaturan keamanan yang saya ubah juga berarti sesi auth saya tidak lagi memiliki izin untuk mengubah konfigurasi keamanan Jenkins.
Nick

Jalankan masalah ini setelah diaktifkan ProjectMatrixAuthorization. Ketika saya melakukan perubahan dan me-restart Jenkins saya melihat pengecualian Java di Jenkins-UI. Untuk memperbaikinya, saya juga menghapus garis authorizationStrategydan tidak apa-apa lagi. Jenkins membacanya di awal berikutnya sebagai tag kosong.
Peter Schneider

12

Kami dapat mengatur ulang kata sandi sambil membiarkan keamanan tetap menyala.

File config.xml di / var / lib / Jenkins / users / admin / bertindak seperti file / etc / shadow Linux atau sistem mirip UNIX atau file SAM di Windows, dalam arti bahwa ia menyimpan hash dari kata sandi akun.

Jika Anda perlu mengatur ulang kata sandi tanpa masuk, Anda dapat mengedit file ini dan mengganti hash lama dengan yang baru yang dihasilkan dari bcrypt:

$ pip install bcrypt
$ python
>>> import bcrypt
>>> bcrypt.hashpw("yourpassword", bcrypt.gensalt(rounds=10, prefix=b"2a"))
'YOUR_HASH'

Ini akan menampilkan hash Anda, dengan awalan 2a, awalan yang benar untuk hash Jenkins.

Sekarang, edit file config.xml:

...
<passwordHash>#jbcrypt:REPLACE_THIS</passwordHash>
...

Setelah Anda memasukkan hash baru, setel ulang Jenkins:

(jika Anda menggunakan sistem dengan systemd):

sudo systemctl restart Jenkins

Anda sekarang dapat masuk, dan Anda tidak membiarkan sistem Anda terbuka untuk sesaat.


5
\.jenkins\secrets\initialAdminPassword

Salin kata sandi dari fileAdminPassword awal dan tempel ke Jenkins.


4

Untuk menghapus keamanan default untuk jenkins di OS Windows,

Anda dapat menelusuri melalui file Config.xml yang dibuat di dalam /users/{UserName}/.jenkins.

Di dalam file ini Anda dapat mengubah kode dari

<useSecurity>true</useSecurity>

Untuk,

<useSecurity>false</useSecurity>

4

1 pertama periksa lokasi jika Anda menginstal perang atau Linux atau windows berdasarkan itu

misalnya jika perang di bawah Linux dan untuk pengguna admin

/home/"User_NAME"/.jenkins/users/admin/config.xml

buka tag ini setelah #jbcrypt:

<passwordHash>#jbcrypt:$2a$10$3DzCGLQr2oYXtcot4o0rB.wYi5kth6e45tcPpRFsuYqzLZfn1pcWK</passwordHash>

ubah kata sandi ini dengan menggunakan situs web apa pun untuk generator hash bcrypt

https://www.dailycred.com/article/bcrypt-calculator

pastikan itu dimulai dengan $ 2a karena ini menggunakan jenkens


4

langkah-1: buka direktori cd .jenkins / secrets maka Anda akan mendapatkan 'initialAdminPassword'.

langkah-2: nano initialAdminPassword

Anda akan mendapatkan kata sandi


2

mengubah <useSecurity>true</useSecurity>ke <useSecurity>false</useSecurity>tidak akan cukup, Anda harus menghapus <authorizationStrategy>dan <securityRealm>elemen juga dan restart server jenkins Anda dengan melakukan sudo service jenkins restart.

ingat ini, diatur <usesecurity>untuk falsehanya dapat menyebabkan masalah bagi Anda, karena petunjuk ini disebutkan di mereka dokumentasi resmi di sini .


1

Cara mudah untuk melakukannya adalah dengan menggunakan admin psw untuk masuk dengan pengguna admin Anda:

  • Ubah ke root pengguna: sudo su -
  • Salin kata sandi: xclip -sel clip < /var/lib/jenkins/secrets/initialAdminPassword
  • Login dengan admin dan tekan ctrl + vpada kotak input kata sandi.

Instal xclip jika Anda tidak memilikinya:

  • $ sudo apt-get install xclip

Menggunakan kata sandi default berhasil untuk saya. Untuk membuatnya tetap sederhana, Anda bisa melakukan 'cat secrets / initialAdminPassword' daripada menginstal xclip untuk sekali saja.
Paul

Terkadang kata sandi ini tidak ada. Saya tidak yakin bagaimana Anda dapat mem-bypass konfigurasi ini, tetapi bagi saya, itu tidak ada dan saya harus mengedit config.xml
vinicius.hisao

1

Jenkins atas KUBENETES dan Docker

Dalam kasus Jenkins lebih wadah dikelola oleh Kubernetes POD adalah sedikit lebih kompleks karena: kubectl exec PODID --namespace=jenkins -it -- /bin/bashakan Anda memungkinkan untuk akses langsung ke wadah berjalan Jenkins, tetapi Anda tidak akan memiliki akses root , sudo,vi dan banyak perintah yang tidak tersedia dan karena itu solusi dibutuhkan.

Gunakan kubectl describe pod [...]untuk menemukan simpul yang menjalankan Pod dan ID kontainer Anda(docker://...)

  • SSH ke dalam simpul
  • jalankan docker exec -ti -u root -- /bin/bashuntuk mengakses wadah dengan hak akses Root
  • apt-get update
  • sudo apt-get install vim

Perbedaan kedua adalah bahwa file konfigurasi Jenkins ditempatkan di jalur yang berbeda yang sesuai dengan titik pemasangan volume persisten, yaitu /var/jenkins_home, lokasi ini mungkin berubah di masa depan, periksa apakah berjalan df.

Kemudian nonaktifkan keamanan - ubah true ke false dalam /var/jenkins_home/jenkins/config.xmlfile.

<useSecurity>false</useSecurity>

Sekarang cukup untuk me-restart Jenkins, tindakan yang akan menyebabkan wadah dan Pod mati, itu akan dibuat lagi dalam beberapa detik dengan konfigurasi diperbarui (dan semua kemungkinan seperti vi, pembaruan terhapus) berkat volume yang persisten.

Seluruh solusi telah diuji di Google Kubernetes Engine. UPDATE Perhatikan bahwa Anda juga dapat menjalankan ps -auxkata sandi dalam teks biasa yang ditampilkan bahkan tanpa akses root.

jenkins@jenkins-87c47bbb8-g87nw:/$ps -aux
[...]
jenkins [..] -jar /usr/share/jenkins/jenkins.war --argumentsRealm.passwd.jenkins=password --argumentsRealm.roles.jenkins=admin
[...]

1

Banyak kali Anda tidak akan memiliki izin untuk mengedit file config.xml.

Hal paling sederhana adalah mengambil kembali config.xmldan menghapus menggunakan perintah sudo.

Mulai ulang jenkins menggunakan perintah sudo /etc/init.d/jenkins restart

Ini akan menonaktifkan semua keamanan di Jenkins dan opsi masuk akan hilang


Jika Anda dapat menghapus config.xml dengan sudo, Anda juga dapat mengeditnya dengan sudo. misalnya sudo vi ...
Lee Meador

1

Menggunakan bcrypt Anda dapat mengatasi masalah ini. Memperluas jawaban @Reem untuk seseorang yang mencoba mengotomatiskan proses menggunakan bash dan python.

#!/bin/bash

pip install bcrypt
yum install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
yum -y install xmlstarlet

cat > /tmp/jenkinsHash.py <<EOF
import bcrypt
import sys

if not sys.argv[1]:
  sys.exit(10)

plaintext_pwd=sys.argv[1]
encrypted_pwd=bcrypt.hashpw(sys.argv[1], bcrypt.gensalt(rounds=10, prefix=b"2a"))
isCorrect=bcrypt.checkpw(plaintext_pwd, encrypted_pwd)

if not isCorrect:
   sys.exit(20);

print "{}".format(encrypted_pwd)
EOF

chmod +x /tmp/jenkinsHash.py
cd /var/lib/jenkins/users/admin*
pwd
while (( 1 )); do
    echo "Waiting for Jenkins to generate admin user's config file ..."

    if [[ -f "./config.xml" ]]; then
        break
    fi

    sleep 10
done

echo "Admin config file created"

admin_password=$(python /tmp/jenkinsHash.py password 2>&1)

# Repalcing the new passowrd
xmlstarlet -q ed --inplace -u "/user/properties/hudson.security.HudsonPrivateSecurityRealm_-Details/passwordHash" -v '#jbcrypt:'"$admin_password" config.xml

# Restart
systemctl restart jenkins
sleep 10

Saya telah menyimpan kata sandi di sini, tetapi ini bisa menjadi input pengguna tergantung pada kebutuhan. Juga pastikan untuk menambahkan bahwa sleepjika tidak ada perintah lain yang berputar di sekitar Jenkins akan gagal.


1

Untuk menonaktifkan keamanan dan wisaya startup dengan sangat sederhana, gunakan properti JAVA:

-Djenkins.install.runSetupWizard=false

Hal yang menyenangkan tentang ini adalah Anda dapat menggunakannya dalam gambar Docker sehingga wadah Anda akan selalu mulai segera tanpa layar masuk:

# Dockerfile
FROM jenkins/jenkins:lts
ENV JAVA_OPTS -Djenkins.install.runSetupWizard=false

Perhatikan bahwa, seperti yang disebutkan oleh orang lain, config.xml Jenkins ada di /var/jenkins_homedalam gambar, tetapi menggunakan seduntuk memodifikasinya dari Dockerfile gagal, karena (mungkin) config.xml tidak ada sampai server mulai.


0

Saya memiliki masalah serupa, dan mengikuti balasan dari ArtB,

Saya menemukan bahwa pengguna saya tidak memiliki konfigurasi yang tepat. jadi apa yang saya lakukan:

Catatan: memodifikasi file XML semacam itu secara manual berisiko. Lakukan dengan risiko Anda sendiri. Karena saya sudah dikunci, saya tidak akan rugi banyak. AFAIK Kasus terburuk saya akan menghapus file ~ / .jenkins / config.xml sebagai postingan sebelumnya.

**> 1. ssh ke mesin jenkins

  1. cd ~ / .jenkins (saya kira beberapa instalasi meletakkannya di /var/lib/jenkins/config.xml, tetapi tidak dalam kasus saya)
  2. vi config.xml, dan di bawah tag xml authorizationStrategy, tambahkan bagian di bawah ini (hanya menggunakan nama pengguna saya alih-alih "put-your-username")
  3. restart jenkins. dalam kasus saya sebagai layanan root tomcat7 berhenti; ; layanan tomcat7 mulai
  4. Coba masuk lagi. (bekerja untuk saya) **

dibawah

Menambahkan:

<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>

Sekarang, Anda dapat pergi ke arah yang berbeda. Misalnya saya memiliki integrasi github oauth, jadi saya bisa mencoba mengganti otorisasiStrategi dengan sesuatu seperti di bawah ini:

Catatan :, Ini berfungsi dalam kasus saya karena saya mempunyai plugin khusus github oauth yang sudah dikonfigurasi. Jadi itu lebih berisiko daripada solusi sebelumnya.

  <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

Edit file $ JENKINS_HOME / config.xml dan ubah konfigurasi de security dengan ini:

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

Setelah itu restart Jenkins.


0

Untuk orang yang menggunakan macOS, versi baru bisa diinstal oleh homebrew. jadi untuk istirahat, baris perintah ini harus menggunakan:

brew services restart jenkins-lts
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.