Jak zresetować ustawienia zabezpieczeń Jenkins z wiersza poleceń?

217

Czy istnieje sposób na zresetowanie wszystkich (lub po prostu wyłączenie ustawień bezpieczeństwa) z wiersza poleceń bez użytkownika / hasła, ponieważ udało mi się całkowicie zablokować Jenkins?

ryanzec
źródło

Odpowiedzi:

275

Najprostszym rozwiązaniem jest całkowite wyłączenie zabezpieczeń - zmiana truena falsew /var/lib/jenkins/config.xmlpliku.

<useSecurity>true</useSecurity>

Następnie uruchom ponownie Jenkinsa przez

sudo service jenkins restart

Następnie przejdź do panelu administracyjnego i ustaw wszystko jeszcze raz.

Jeśli na wszelki wypadek uruchamiasz Jenkinsa wewnątrz k8s pod z dokera, co jest w moim przypadku i nie może działać service polecenia, możesz po prostu zrestartować Jenkins poprzez usunięcie kapsuły:

kubectl delete pod <jenkins-pod-name>

Po wydaniu polecenia k8s zakończy działanie starej kapsuły i uruchomi nową.

Nowaker
źródło
3
Musiałem zrestartować Jenkins, aby zastosować zmiany.
Lub Arbel
12
sudo service jenkins restart
MonoThreaded
10
Dla tych, którzy nie mogą go znaleźć, skorzystaj z config.xml find / -name "config.xml" w twoim terminalu.
Laser Hawk
Po zmianie znacznika bezpieczeństwa użytkownika na false w celu ponownego uruchomienia szarpania z wiersza polecenia --- stackoverflow.com/questions/14869311/…
Anurag_BEHS
1
Plik może także znajdować się w folderze ~ / .jenkins /
Andrii Abramov
181

Innym sposobem może być ręczna edycja pliku konfiguracyjnego dla użytkownika (np. /Var/lib/jenkins/users/username/config.xml) i zaktualizowanie zawartości passwordHash :

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

Po wykonaniu tej czynności ponownie uruchom Jenkins i zaloguj się przy użyciu tego hasła:

test
Arsen
źródło
1
co jeśli tego wpisu nie ma - gdzie go umieścić?
serup
2
<passwordHash>tag xml jest dzieckiem <hudson.security.HudsonPrivateSecurityRealm_-Details>. Spójrz na domyślnego użytkownika administratora, aby dowiedzieć się o całkowitej strukturze XML.
ivandov
2
To dobre rozwiązanie, które zapewnia bezpieczeństwo instalacji. Z ciekawości, w jaki sposób generuje się hash hasła?
kontextify
Dziękuję, właśnie tego potrzebowałem!
Matt Cavanagh,
Modyfikacja zawartości pliku obecnego w C: \ Users \ <USER> \ .jenkins \ users \ admin pomógł rozwiązać problem
Sakshi Singla
45

Znalazłem plik znajdujący się w / var / lib / jenkins o nazwie config.xml, modyfikując to, rozwiązując problem.

ryanzec
źródło
1
Używam El-Capitan i nie można znaleźć
pliku
@ DuraiAmuthan.H Czy zainstalowałeś go ze stosem bitnami? Plik konfiguracyjny wejdzie w/Applications/jenkins-2.19.3-0/apps/jenkins/jenkins_home/users/admin/config.xml
siegy22,
@ryanzec, odpowiedź Nowakers używa tego samego pliku, ale lepiej to wyjaśnić, powinieneś rozważyć zaakceptowanie go jako poprawnej odpowiedzi.
Katu
gdzie znajdziemy plik w hight sierra
prabakaran iOS
44

<passwordHash>Elementem users/<username>/config.xmlbędzie akceptować dane o formacie

salt:sha256("password{salt}")

Tak więc, jeśli twoja sól bari twoje hasło to foo, możesz wyprodukować SHA256 w następujący sposób:

echo -n 'foo{bar}' | sha256sum

Powinieneś dostać 7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349w wyniku. Weź skrót i włóż go razem z solą do <passwordHash>:

<passwordHash>bar:7f128793bc057556756f4195fb72cdc5bd8c5a74dee655a6bfb59b4a4c4f4349</passwordHash>

Uruchom ponownie Jenkins, a następnie spróbuj zalogować się przy użyciu hasła foo. Następnie zresetuj hasło do czegoś innego. (Jenkins domyślnie korzysta z bcrypt, a jedna runda SHA256 nie jest bezpiecznym sposobem przechowywania haseł. Otrzymasz skrót bcrypt po zresetowaniu hasła).

uckelman
źródło
1
To nie działa. przykład zaczyna się od soli #jbscrypt, a następnie definiuje pola szyfrowania 2 USD 10 USD. Co to znaczy?
jrwren
Moja odpowiedź zadziałała dla mnie. Dodatkowe pola, które widzisz, dotyczą innego formatu skrótu. Biblioteka, której używa Jenkins do obsługi hashowanych haseł, obsługuje więcej niż jeden format. Format jbcrypt, o którym mówisz, jest bardziej bezpieczny niż sól sha256 z solą, ale format soli sha256 + można łatwo wygenerować z wiersza poleceń --- pamiętaj, że celem ćwiczenia jest powrót do Jenkins, a następnie zmień hasło z interfejsu internetowego Jenkins.
uckelman
To też nie działało dla mnie. Spróbuję znaleźć więcej informacji na temat bcrypt
Laurent Picquet
zadziałało dla mnie. Użyłem następujących poleceń: `` PASSWORD_DIGEST = "$ (echo -n" $ {ADMIN_PASSWORD} {$ {SALT}} "| sha256sum | awk '{print $ 1}')" echo "skrót hasła: $ PASSWORD_DIGEST sed -i -e "s # <passwordHash>. * </passwordHash> # <passwordHash> $ {SALT}: $ {PASSWORD_DIGEST} </passwordHash> #" "/ usr / share / jenkins / ref / users / admin / config .xml „sed -i -e” s # <apiToken>. * </apiToken> # <apiToken> $ {API_TOKEN} </apiToken> # "" / usr / share / jenkins / ref / users / admin / config. xml "` `
Laurent Picquet
Dzięki mil. Używał dokładnie tych samych wartości i działał jak urok. Wróciłem i zresetowałem przepustkę.
26

W El-Capitan config.xml nie można znaleźć na

/ var / lib / jenkins /

Jest dostępny w

~ / .jenkins

następnie, jak wspomniano wcześniej, otwórz plik config.xml i wprowadź następujące zmiany

  • W ten wymienić <useSecurity>true</useSecurity>z<useSecurity>false</useSecurity>

  • Usuń <authorizationStrategy>i<securityRealm>

  • Zapisz go i zrestartuj jenkins ( sudo service jenkins restart )

Durai Amuthan.H
źródło
Nie jestem w stanie edytować pliku config.xml. Kiedy próbuję zapisać go za pomocą vima, zgłasza, że ​​jest to plik tylko do odczytu, a operacja umożliwiająca dostęp do zapisu jest niedozwolona.
Emjey,
19

Odpowiedź na modyfikację była poprawna. Myślę jednak, że należy wspomnieć, że /var/lib/jenkins/config.xmlwygląda to tak, jeśli aktywowano „Strategię autoryzacji matrycy opartej na projekcie”. Usuwanie /var/lib/jenkins/config.xmli ponowne uruchamianie Jenkins również załatwia sprawę. Usunąłem również użytkowników, /var/lib/jenkins/usersaby zacząć od zera.

<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>
użytkownik637338
źródło
14

Aby go zresetować bez wyłączania zabezpieczeń, jeśli korzystasz z uprawnień macierzy (prawdopodobnie łatwo można je dostosować do innych metod logowania):

  1. W config.xmlustawiono disableSignupnafalse .
  2. Uruchom ponownie Jenkins.
  3. Wejdź na stronę Jenkins i zarejestruj się u nowego użytkownika .
  4. W config.xmlzduplikuj jedną z <permission>hudson.model.Hudson.Administer:username</permission>linii i zamieńusername go nowym użytkownikiem.
  5. Jeśli jest to prywatny serwer, ustawić disableSignupz powrotem truewconfig.xml .
  6. Uruchom ponownie Jenkins.
  7. Przejdź do strony internetowej Jenkins i zaloguj się jako nowy użytkownik .
  8. Zresetuj hasło pierwotnego użytkownika.
  9. Zaloguj się jako oryginalny użytkownik.

Opcjonalne czyszczenie:

  1. Usuń nowego użytkownika.
  2. Usuń tymczasowy <permission>wiersz w config.xml.

Żadne papiery wartościowe nie zostały naruszone podczas tej odpowiedzi.

l0b0
źródło
Dodaj do zestawu czyszczącego wyłącz Wyłącz Zaloguj się ponownie do wartości true i zrestartuj jenkins
Marc
14

Aby wyłączyć zabezpieczenia Jenkins w prostych krokach w systemie Linux, uruchom następujące polecenia:

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

Usunie useSecurityi authorizationStrategylinie z twojego config.xmlpliku konfiguracyjnym korzeni i ponownie uruchom Jenkins.

Zobacz także: Wyłącz zabezpieczenia na stronie Jenkins


Po uzyskaniu dostępu do Jenkins możesz ponownie włączyć zabezpieczenia na stronie Konfiguruj zabezpieczenia globalne , wybierając dziedzinę Kontrola dostępu / Bezpieczeństwo . Potem nie zapomnij utworzyć użytkownika administratora .

kenorb
źródło
Dla mnie to zadziałało, pomija teraz autoryzację.
hemanto
@hemanto Musisz włączyć zabezpieczenia, aby ponownie włączyć autoryzację. Zaktualizowałem odpowiedź.
kenorb
12

Na przykład przypadkowo blokujesz się z Jenkinsa z powodu błędu uprawnień i nie masz dostępu do serwera, aby przełączyć się na użytkownika lub roota Jenkinsa. Możesz wykonać pracę w Jenkinsie i dodać to do Skryptu powłoki:

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

Następnie kliknij Build Now i zrestartuj Jenkins (lub serwer, jeśli potrzebujesz!)

Nacięcie
źródło
1
Jak stworzyć pracę w Jenkins na wypadek, gdybyś się od niej zamknął?
GeroldBroser przywraca Monikę
W takim przypadku miałem zalogowane normalne okno Chrome, zmieniłem ustawienia zabezpieczeń i przetestowałem w oknie Incognito przed wylogowaniem z głównego okna. Test nie pozwolił mi się zalogować, ale moje sesje trwały w głównym oknie, więc mogłem naprawić szkody.
Nick
1
Wydaje mi się, że część ustawień bezpieczeństwa, które zmieniłam, oznaczała również, że moja sesja uwierzytelniania nie miała już uprawnień do zmiany konfiguracji zabezpieczeń Jenkins.
Nick
Po aktywacji napotkasz ten problem ProjectMatrixAuthorization. Kiedy dokonam zmiany i zrestartuję Jenkins, widzę wyjątek Java w interfejsie Jenkins-UI. Aby to naprawić, usunąłem również wiersz z authorizationStrategyi znów było w porządku. Jenkins odczytał go przy następnym uruchomieniu jako pusty tag.
Peter Schneider,
12

Możemy zresetować hasło, pozostawiając włączone zabezpieczenia.

Plik config.xml w / var / lib / Jenkins / users / admin / działa podobnie jak plik / etc / shadow Linux lub UNIX-podobny system lub plik SAM w Windows, w tym sensie, że przechowuje skrót hasło do konta.

Jeśli musisz zresetować hasło bez logowania, możesz edytować ten plik i zamienić stary skrót na nowy wygenerowany z bcrypt:

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

Spowoduje to wyświetlenie Twojego skrótu, z prefiksem 2a, poprawnym prefiksem dla skrótów Jenkins.

Teraz edytuj plik config.xml:

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

Po wstawieniu nowego skrótu zresetuj Jenkins:

(jeśli korzystasz z systemu z systemd):

sudo systemctl restart Jenkins

Możesz się teraz zalogować i przez chwilę nie pozostawiłeś systemu otwartego.

Reem
źródło
5
\.jenkins\secrets\initialAdminPassword

Skopiuj hasło z pliku initialAdminPassword i wklej je do Jenkins.

Shivam
źródło
4

Aby usunąć domyślnie zabezpieczenia Jenkins w systemie operacyjnym Windows,

Możesz przeglądać plik Config.xml utworzony w pliku /users/{UserName}/.jenkins.

Wewnątrz tego pliku możesz zmienić kod

<useSecurity>true</useSecurity>

Do,

<useSecurity>false</useSecurity>
Krutik
źródło
4

1 najpierw sprawdź lokalizację, jeśli na tej podstawie zainstalujesz war, Linux lub Windows

na przykład jeśli wojna pod Linuksem i dla administratora

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

przejdź do tego znacznika po #jbcrypt:

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

zmień to hasło za pomocą dowolnej witryny generatora skrótów bcrypt

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

upewnij się, że zaczyna się od 2 $, ponieważ ten jenkens używa

Ismail
źródło
4

krok 1: przejdź do katalogu cd .jenkins / secrets, a następnie otrzymasz „initialAdminPassword”.

krok 2: nano initialAdminPassword

dostaniesz hasło

Shaik Zeeshan
źródło
2

zmieniając <useSecurity>true</useSecurity>się <useSecurity>false</useSecurity>nie będzie wystarczające, należy usunąć <authorizationStrategy>i <securityRealm>elementy zbyt i zrestartować serwer Jenkins robiąc sudo service jenkins restart.

tym pamiętać, ustawiony <usesecurity>na falsetylko może powodować problem dla ciebie, ponieważ instrukcje te są wymienione w oficjalnej dokumentacji Thier tutaj .

Musharraf Al-tamimi
źródło
1

Prostym wyjściem z tego jest użycie psw administratora do zalogowania się z administratorem:

  • Zmień na użytkownika root: sudo su -
  • Skopiuj hasło: xclip -sel clip < /var/lib/jenkins/secrets/initialAdminPassword
  • Zaloguj się za pomocą administratora i naciśnij ctrl + vpole wprowadzania hasła.

Zainstaluj xclip, jeśli go nie masz:

  • $ sudo apt-get install xclip
Thomas Modeneis
źródło
Użycie domyślnego hasła działało dla mnie. Aby to uprościć, możesz po prostu zrobić „cat secrets / initialAdminPassword” zamiast instalować xclip jako jednorazowy.
Paul,
Czasami to hasło nie jest obecne. Nie jestem pewien, jak możesz ominąć tę konfigurację, ale dla mnie nie jest ona obecna i musiałem edytować config.xml
vinicius.hisao
1

Jenkins zamiast KUBENETES i Docker

W przypadku Jenkins nad pojemnikiem zarządzanego przez Kubernetes POD jest nieco bardziej skomplikowana od: kubectl exec PODID --namespace=jenkins -it -- /bin/bashpozwolisz, aby uzyskać dostęp bezpośrednio do pojemnika z systemem Jenkins, ale nie będzie miał dostępu do konta roota , sudo, vii wiele poleceń nie są dostępne i dlatego obejście jest potrzebne.

Służy kubectl describe pod [...]do znajdowania węzła uruchamiającego zasobnik i identyfikatora kontenera(docker://...)

  • SSH do węzła
  • uruchom, docker exec -ti -u root -- /bin/bashaby uzyskać dostęp do kontenera z uprawnieniami rootowania
  • apt-get update
  • sudo apt-get install vim

Druga różnica polega na tym, że plik konfiguracyjny Jenkins jest umieszczony w innej ścieżce, która odpowiada punktowi montowania trwałego woluminu, tj. /var/jenkins_homeTa lokalizacja może ulec zmianie w przyszłości, sprawdź, czy jest uruchomiony df.

Następnie wyłącz zabezpieczenia - zmień w /var/jenkins_home/jenkins/config.xmlpliku wartość true na false .

<useSecurity>false</useSecurity>

Teraz wystarczy zrestartować Jenkins, akcję, która spowoduje, że pojemnik i kapsuła zginą, utworzy się ponownie w ciągu kilku sekund ze zaktualizowaną konfiguracją (i całą szansą, jak vi, aktualizacja skasowana) dzięki stałemu woluminowi.

Całe rozwiązanie zostało przetestowane na Google Kubernetes Engine. AKTUALIZACJA Zauważ, że równie dobrze możesz uruchomić ps -auxhasło w postaci zwykłego tekstu, nawet bez dostępu użytkownika root.

jenkins@jenkins-87c47bbb8-g87nw:/$ps -aux
[...]
jenkins [..] -jar /usr/share/jenkins/jenkins.war --argumentsRealm.passwd.jenkins=password --argumentsRealm.roles.jenkins=admin
[...]
GalloCedrone
źródło
1

Wiele razy nie będziesz mieć uprawnień do edycji pliku config.xml.

Najprostszą rzeczą byłoby wycofanie się config.xml i usunięcie za pomocą polecenia sudo.

Uruchom ponownie jenkinsa za pomocą polecenia sudo /etc/init.d/jenkins restart

Spowoduje to wyłączenie wszystkich zabezpieczeń w Jenkins, a opcja logowania zniknie

Emjey
źródło
Jeśli możesz usunąć config.xml za pomocą sudo, możesz również edytować go za pomocą sudo. np. sudo vi ...
Lee Meador,
1

Za pomocą bcrypt możesz rozwiązać ten problem. Rozszerzenie odpowiedzi @Reem dla kogoś, kto próbuje zautomatyzować proces za pomocą bash i 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

Hasło zostało tutaj zapisane na stałe, ale może być wprowadzane przez użytkownika w zależności od wymagań. Pamiętaj też, aby dodać, że w sleepprzeciwnym razie każde inne polecenie dotyczące Jenkins zawiedzie.

Ismail
źródło
1

Aby po prostu wyłączyć zarówno zabezpieczenia, jak i kreatora uruchamiania, użyj właściwości JAVA:

-Djenkins.install.runSetupWizard=false

Zaletą tego jest to, że możesz użyć go w obrazie Docker, dzięki czemu Twój kontener zawsze uruchomi się natychmiast bez ekranu logowania:

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

Zwróć uwagę, że jak wspomnieli inni, plik config.xml w Jenkins znajduje się w /var/jenkins_homeobrazie, ale użycie go seddo modyfikacji z pliku Docker nie powiedzie się, ponieważ (prawdopodobnie) plik config.xml nie istnieje do momentu uruchomienia serwera.

Rabarbar
źródło
0

Miałem podobny problem i po odpowiedzi ArtB

Odkryłem, że mój użytkownik nie miał odpowiednich konfiguracji. więc co zrobiłem:

Uwaga: ręczne modyfikowanie takich plików XML jest ryzykowne. Zrób to na własne ryzyko. Ponieważ byłem już zamknięty, nie miałem wiele do stracenia. AFAIK W najgorszym przypadku usunąłbym plik ~ / .jenkins / config.xml jak wspomniano wcześniej.

**> 1. ssh do maszyny Jenkins

  1. cd ~ / .jenkins (Myślę, że niektóre instalacje umieszczają go w katalogu /var/lib/jenkins/config.xml, ale nie w moim przypadku)
  2. vi config.xml i w ramach tagu XML authenticationStrategy dodaj poniższą sekcję (właśnie użyłem mojej nazwy użytkownika zamiast „put-your-username”)
  3. uruchom ponownie jenkins. w moim przypadku jako usługa root tomcat7 stop; ; usługa tomcat7 start
  4. Spróbuj zalogować się ponownie. (pracował dla mnie) **

pod

Dodaj:

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

Teraz możesz iść w różne strony. Na przykład miałem integrację z github oauth, więc mogłem spróbować zastąpić strategię autoryzacji czymś takim jak poniżej:

Uwaga: działało w moim przypadku, ponieważ miałem już skonfigurowaną wtyczkę github oauth. Jest to więc bardziej ryzykowne niż poprzednie rozwiązanie.

  <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
źródło
0

Edytuj plik $ JENKINS_HOME / config.xml i zmień konfigurację zabezpieczeń za pomocą:

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

Po tym zrestartuj Jenkins.

richarbernal
źródło
0

Dla tych, którzy używają macOS, nową wersję można po prostu zainstalować przez Homebrew. więc do odpoczynku ten wiersz poleceń musi używać:

brew services restart jenkins-lts
iman kazemayni
źródło