web-dev-qa-db-ja.com

Jenkins:グローバルセキュリティを有効にした後、アクセスが拒否されました。元に戻すには?

これを理解するのに助けが必要です。この問題を解決するにはどうすればよいですか?私はグローバルセキュリティを有効にして、このエラーをすぐに見たと思います。

(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)
14
serverFaulter

config.xmlを編集し、次の2つのxmlタグを以下のバージョンに置き換えます。次に、サーバーを再起動します。

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

注意してください、あなたの既存のタグはおそらく数行にまたがっています。

14
Peter Schuetze

セキュリティを有効にしたが、権限を持つユーザーがいないため、このエラーが発生しています。この問題を解決するには、まずconfig.xmlを編集し、useSecurityfalseに設定します

私は、外部データベース(つまり、LDAP)ではなく、ローカル認証(ユーザーのローカルデータベース)を使用することを想定しています。 Jenkins Documentation から取得した以下の手順に従います。

  1. [グローバルセキュリティの構成]画面( http:// server/jenkins/configureSecurity / )に移動し、[セキュリティを有効にする]を選択します。代替のURLは http:// server:8080/configureSecurity です。
  2. セキュリティレルムとして「Jenkins自身のユーザーデータベース」を選択します
  3. 「ユーザーに登録を許可する」の横にチェックマークを付けます
  4. 権限として「マトリックスベースのセキュリティ」を選択します
  5. 匿名ユーザーに読み取りアクセス権を与える
  6. テーブルの下のテキストボックスにユーザー名を入力し(後で作成します)、[追加]をクリックします
  7. 行全体でユーザー名をチェックして、自分に完全なアクセス権を与える
  8. 一番下までスクロールし、「保存」をクリックします

バージョン1.566でテスト済み。


上記の手順に影響する可能性があるため、承認された回答で提案された変更を元に戻すことをお勧めします。

11
amertkara

2行修正(サーバーで実行):

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

注:Sudo権限が必要です。または、rootとして実行します。

次に、通常どおりJenkinsにログインし、セキュリティを再構成します。

2
kenorb

Windowsの場合:グローバルセキュリティでLDAPを有効にすると、管理者権限も失いました。 「アクセス拒否には全体/読み取り権限のjenkinsウィンドウがありません」というエラーが表示されます。

このような場合は、既存のインスタンスを保持して、別のマシンまたはVMに新しいjenkinsをインストールしてください。 Jenkins_Homeからconfig.xmlをコピーし、Jenkin_Homeディレクトリのconfig.xmlに置き換えます。これを実行している間、Jenkinsサービスが停止していることを確認してください。置き換えたら、インスタンスとVOILAを起動します。

0
user3346620

私が直面した同様の問題ですが、GitHub OAuthプラグインで、ここで合意された回答のおかげで、私の問題と解決策が説明されました ここ

0
sandejai