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?

ryanzec
sumber

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.

Pembuat sekarang
sumber
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
Arseny
sumber
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.

ryanzec
sumber
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.)

uckelman
sumber
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 )

Durai Amuthan.H
sumber
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>
pengguna637338
sumber
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.

l0b0
sumber
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 .

kenorb
sumber
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!)

Nick
sumber
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.

Reem
sumber
5
\.jenkins\secrets\initialAdminPassword

Salin kata sandi dari fileAdminPassword awal dan tempel ke Jenkins.

Shivam
sumber
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>
Krutik
sumber
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

Ismail
sumber
4

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

langkah-2: nano initialAdminPassword

Anda akan mendapatkan kata sandi

Shaik Zeeshan
sumber
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 .

Musharraf Al-tamimi
sumber
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
Thomas Modeneis
sumber
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
[...]
GalloCedrone
sumber
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

Emjey
sumber
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.

Ismail
sumber
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.

Perkelahian
sumber
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="[email protected]">
    <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>
drordk
sumber
0

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

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

Setelah itu restart Jenkins.

richarbernal
sumber
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
iman kazemayni
sumber