Нужна помощь в выяснении этого. Как я могу исправить эту проблему? Думаю, я включил глобальную безопасность и сразу увидел эту ошибку.
(при доступе к localhost: 8080 я получаю следующее ...)
A problem occurred while processing the request. Please check our bug tracker to see if a similar problem has already been reported. If it is already reported, please vote and put a comment on it to let us gauge the impact of the problem. If you think this is a new issue, please file a new issue. When you file an issue, make sure to add the entire stack trace, along with the version of Jenkins and relevant plugins. The users list might be also useful in understanding what has happened.
Stack trace
hudson.security.AccessDeniedException2: anonymous is missing the Overall/Read permission
at hudson.security.ACL.checkPermission(ACL.java:54)
at hudson.model.Node.checkPermission(Node.java:418)
at jenkins.model.Jenkins.getTarget(Jenkins.java:3658)
at org.kohsuke.stapler.Stapler.tryInvoke(Stapler.java:656)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:858)
at org.kohsuke.stapler.Stapler.invoke(Stapler.java:631)
at org.kohsuke.stapler.Stapler.service(Stapler.java:225)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:686)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1494)
at hudson.util.PluginServletFilter$1.doFilter(PluginServletFilter.java:96)
at hudson.util.PluginServletFilter.doFilter(PluginServletFilter.java:88)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.csrf.CrumbFilter.doFilter(CrumbFilter.java:48)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.security.ChainedServletFilter$1.doFilter(ChainedServletFilter.java:84)
at hudson.security.ChainedServletFilter.doFilter(ChainedServletFilter.java:76)
at hudson.security.HudsonFilter.doFilter(HudsonFilter.java:164)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at org.kohsuke.stapler.compression.CompressionFilter.doFilter(CompressionFilter.java:46)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1482)
at hudson.util.CharacterEncodingFilter.doFilter(CharacterEncodingFilter.java:81)
at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1474)
at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:499)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:137)
at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:533)
at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:231)
at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1086)
at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:428)
at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:193)
at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1020)
at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:135)
at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:116)
at org.eclipse.jetty.server.Server.handle(Server.java:370)
at org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractHttpConnection.java:489)
at org.eclipse.jetty.server.AbstractHttpConnection.headerComplete(AbstractHttpConnection.java:949)
at org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.headerComplete(AbstractHttpConnection.java:1011)
at org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:644)
at org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:235)
at org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection.java:82)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndPoint.java:668)
at org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPoint.java:52)
at winstone.BoundedExecutorService$1.run(BoundedExecutorService.java:77)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
at java.lang.Thread.run(Thread.java:695)
отредактируйте config.xml и замените следующие два тега xml на версию ниже. Затем перезапустите свой сервер.
<authorizationStrategy class="hudson.security.AuthorizationStrategy$Unsecured"/>
<securityRealm class="hudson.security.SecurityRealm$None"/>
Остерегайтесь, ваши существующие теги, вероятно, занимают несколько строк каждый.
Вы получаете эту ошибку, потому что вы включили безопасность, но у вас нет пользователя с разрешениями. Чтобы решить эту проблему, сначала отредактируйте config.xml
и установить useSecurity
к false
Я предполагаю, что вы хотите использовать локальную аутентификацию (локальную базу данных пользователей), а не внешнюю базу данных (например, LDAP). Следуйте инструкциям ниже, взятым из Документация Jenkins.
- Перейдите на экран настройки глобальной безопасности (http: // сервер / Дженкинс / configureSecurity /) и выберите «включить безопасность». Альтернативный URL-адрес: http: // сервер: 8080 / configureSecurity.
- Выберите "Собственная база данных пользователей Jenkins" в качестве области безопасности.
- Установите флажок "Разрешить пользователям регистрироваться"
- В качестве авторизации выберите "Матричная безопасность".
- Предоставить анонимному пользователю доступ для чтения
- В текстовом поле под таблицей введите свое имя пользователя (вы создадите его позже) и нажмите «добавить».
- Предоставьте себе полный доступ, проверив всю строку для своего имени пользователя
- Прокрутите до конца, нажмите "сохранить"
Проверено с версией 1.566.
Я предлагаю отменить изменения, предложенные в принятом ответе, так как это может повлиять на описанные выше шаги.
Двухстрочное исправление (запускается на сервере):
sudo ex +g/useSecurity/d +g/authorizationStrategy/d -scwq /var/lib/jenkins/config.xml
sudo /etc/init.d/jenkins restart
Обратите внимание sudo
требуется разрешение, или запускайте как root
.
Затем войдите в Jenkins, как обычно, и снова настройте безопасность.
С аналогичной проблемой я столкнулся, но с плагином GitHub OAuth, благодаря согласованному ответу здесь, моя проблема и решение объяснены Вот
В Windows: когда я включил LDAP в разделе «Глобальная безопасность», я тоже потерял права администратора. с ошибкой, как «Отказано в доступе, отсутствуют окна Дженкинса с разрешением Общее / Чтение».
В таком случае, пожалуйста, сохраните существующий экземпляр, установите новый jenkins на другой компьютер или виртуальную машину. Скопируйте config.xml из Jenkins_Home и замените его config.xml из вашего каталога Jenkin_Home. При выполнении этого убедитесь, что служба Jenkins остановлена. после замены запустите экземпляр и VOILA.