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?

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


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

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.


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


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 )


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>

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.


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 .


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


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.


5
\.jenkins\secrets\initialAdminPassword

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


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>

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


4

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

krok 2: nano initialAdminPassword

dostaniesz hasł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 .


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

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
[...]

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


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.


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.


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

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

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

Po tym zrestartuj Jenkins.


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
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.