zoukankan      html  css  js  c++  java
  • Jenkins权限配置失误后导致登录失败的解决办法

    问题出现原因

    情况是这样的:当时俺还不知道配置权限如果点击确定了,当前用户如果权限不够会直接被踢出来,于是,小伙伴就很开心的进行了这样的额操作:打开权限配置中的安全矩阵,没有给任何用户配置权限就点击了保存。如下图所示

    于是,被系统踢出来了,再次登录的时候,系统很有好的提示我:Access Denied test用户没有overall/RunScripts权限。如图所示:

    小伙伴当时就斯巴达了,经过我的不(shang)懈(wang)努(qiu)力(zhu),终于成功的再次登录了,现在将这些解决方案分享给大家。

    解决办法1

    有一个比较简单的方法:

    • 删除用户相关的目录

    • 修改$Jenkins_home/config.xml文件:false

    • 删除authorizationStrategy、securityRealm节点

    • 重新启动Jenkins

    这种方法将删除Jenkins的权限管理,恢复成初始状态。不过可能会丢一些东西。

    解决办法2

    找到保存用户权限的config文件,该文件一般在Jenkins的主目录下,如图所示:

    选中,右击,用记事本打开。打开后是这个样纸的:

    是不是感觉有点乱,没关系的了,我们只需要从中找到你的一个用户,然后给它分配所有的权限,然后就可以了。

    我们要找到其中的两句代码

    <useSecurity>true</useSecurity>

    </securityRealm>

    然后,将它们之间的代码选中,替换为下面的代码:

    <useSecurity>true</useSecurity> 
    
        <authorizationStrategy class="hudson.security.GlobalMatrixAuthorizationStrategy"> 
    
          <permission>hudson.model.Computer.Configure:admin</permission> 
    
          <permission>hudson.model.Computer.Connect:admin</permission> 
    
          <permission>hudson.model.Computer.Create:admin</permission> 
    
          <permission>hudson.model.Computer.Delete:admin</permission> 
    
          <permission>hudson.model.Computer.Disconnect:admin</permission> 
    
          <permission>hudson.model.Hudson.Administer:admin</permission> 
    
          <permission>hudson.model.Hudson.Read:admin</permission> 
    
          <permission>hudson.model.Hudson.Read:anonymous</permission> 
    
          <permission>hudson.model.Hudson.RunScripts:admin</permission> 
    
          <permission>hudson.model.Item.Build:admin</permission> 
    
          <permission>hudson.model.Item.Cancel:admin</permission> 
    
          <permission>hudson.model.Item.Configure:admin</permission> 
    
          <permission>hudson.model.Item.Create:admin</permission> 
    
          <permission>hudson.model.Item.Delete:admin</permission> 
    
          <permission>hudson.model.Item.Discover:admin</permission> 
    
          <permission>hudson.model.Item.Read:admin</permission> 
    
          <permission>hudson.model.Item.Workspace:admin</permission> 
    
          <permission>hudson.model.Run.Delete:admin</permission> 
    
          <permission>hudson.model.Run.Update:admin</permission> 
    
          <permission>hudson.model.View.Configure:admin</permission> 
    
          <permission>hudson.model.View.Create:admin</permission> 
    
          <permission>hudson.model.View.Delete:admin</permission> 
    
          <permission>hudson.model.View.Read:admin</permission> 
    
      <permission>hudson.scm.SCM.Tag:admin</permission> 
    
        </authorizationStrategy> 
    
        <securityRealm class="hudson.security.HudsonPrivateSecurityRealm"> 
    
          <disableSignup>false</disableSignup> 
    
          <enableCaptcha>false</enableCaptcha> 
    
        </securityRealm>

    这时,admin这个用户是拥有所有的权限的,将Jenkins重启(如果不知道怎么重启的可以直接保存后重启电脑,比较简单。)然后用admin这个账号登录就可以了。如果没有admin用户,可以将admin替换为Jenkins中有的账户名,其他不需要改变。

    配置文件的其他作用

    配置文件还有其他作用,比如我们在需要修改Jenkins登录的端口号的时候,通过修改config文件中的代码将代码:

    [code]<arguments>-Xrs -Xmx256m -Dhudson.lifecycle=hudson.lifecycle.WindowsServiceLifecycle -jar "%BASE%jenkins.war" --httpPort=8080</arguments>
    [code]     中的8080修改为你需要的端口号,保存,重启,然后就可以了。
  • 相关阅读:
    Centos7 禁止firewalld并使用iptables 作默认防火墙
    在Kibana上格式化字段,更好的在dashboard上展示
    利用 ELK系统分析Nginx日志并对数据进行可视化展示
    Nginx 服务器开启status页面检测服务状态
    Linux 上通过binlog文件 恢复mysql 数据库详细步骤
    Linux 为FTP 服务器添加iptables规则--案例分析
    NUMA架构的CPU -- 你真的用好了么?
    Linux 上利用Nginx代理uWSGI处理Flask web应用
    Linux 之不同运维人员共用root 账户权限审计
    Strategy
  • 原文地址:https://www.cnblogs.com/wangcp-2014/p/6964645.html
Copyright © 2011-2022 走看看