Jenkins: Acessado negado após ativar a segurança global. Como reverter?

14

Preciso de ajuda para descobrir isso. Como posso corrigir esse problema? Acho que ativei a segurança global e vi esse erro imediatamente.

(enquanto acessando localhost: 8080 eu recebo o seguinte ...)

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)
    
por serverFaulter 22.11.2013 / 01:41

5 respostas

14

edite o config.xml e substitua as duas tags xml seguintes pela versão abaixo. Então reinicie seu servidor.

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

Cuidado, suas tags existentes provavelmente estão abrangendo várias linhas cada.

    
por 22.11.2013 / 15:18
10

Você está recebendo este erro porque ativou a segurança, mas não tem nenhum usuário com permissões. Para resolver esse problema, primeiro edite config.xml e defina useSecurity para false

Suponho que você queira usar a autenticação local (um banco de dados local de usuários) em vez de um banco de dados externo (ou seja, LDAP). Siga os passos abaixo retirados de Documentação de Jenkins .

  1. Go to the Configure Global Security screen (http://server/jenkins/configureSecurity/) and choose "enable security". An alternate URL to try is http://server:8080/configureSecurity.
  2. Select "Jenkins's own user database" as the security realm
  3. Place a check mark next to "Allow users to sign up"
  4. Select "Matrix-based security" as the authorization
  5. Give anonymous user the read access
  6. In the text box below the table, type in your user name (you'd be creating this later) and click "add"
  7. Give yourself a full access by checking the entire row for your user name
  8. Scroll all the way to the bottom, click "save"

Testado com a versão 1.566.

Sugiro reverter as alterações sugeridas na resposta aceita, já que é provável que afete as etapas acima.

    
por 09.06.2014 / 22:15
2

Correção de duas linhas (executada no servidor):

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

Observação: a permissão sudo é necessária ou executada como root .

Em seguida, faça login no Jenkins como de costume e reconfigure a segurança novamente.

    
por 07.07.2016 / 21:15
0

Problema semelhante que enfrentei, mas com o plug-in OAuth do GitHub, graças à resposta acordada aqui, meu problema e solução foram explicados aqui

    
por 12.07.2016 / 20:27
0

No Windows: quando eu habilitei o LDAP em segurança global, perdi meu administrador também. com erro como "Acesso negado está faltando as janelas de janelas de permissão geral / leitura".

Nesse caso, por favor, manter a instância existente, ter um novo jenkins instalar em outra máquina ou VM. Copie o config.xml de Jenkins_Home e substitua-o por config.xml do seu diretório Jenkin_Home. Ao executar isso, verifique se o serviço do Jenkins está parado. uma vez substituído, inicie a instância e VOILA.

    
por 27.04.2017 / 19:45

Tags