强制找回GitLab管理员账户密码的方法

为了开发运维工具,我们采用自行搭建的GitLab来管理所有代码。悲催的是最近忘记了管理员账户的密码,而且没有邮件服务器,因此无法接收密码找回的邮件,导致无法新建用户或者项目,这样一来,岂不就成为了一个”永不能扩展”的代码库?难道只能重建?

重建可以解决问题,可是实在有些LOW,好在GitLab留下了可以修改管理员账号密码的方法,一定意义上可以认为就是一个后门。

尝试各种可能的管理员账户密码,无效,

尝试使用忘记密码,由于未配置邮件服务器,所以显示发送了邮件,但实际没有任何的作用。

接下来,尝试使用”后门”。首先登录GitLab后台服务器,并且切换至git用户,

登录GitLab的Rails控制台(GitLab使用RoR语言开发),

接下来使用user = User.where(id: 1).first,定位到id=1的用户,就是超级管理员,

我们可以从回显中可以看出,id=1的用户电子邮箱是[email protected],密码加了密,还有关于这个用户的所有属性信息,例如skype、linkedin、twitter、username等。

我们还可以使用User.find_by(email: ‘xxx’)来查找指定邮箱的用户,

接下来为这个用户设置password,

保存设置,可以猜出此时会触发一个邮件发送的JOB,告知所做变更,

再次登录,

确实可以了,

总结:
GitLab的任何用户账号信息都可以从后台Rails控制台来查出来,包括所有的用户属性信息,由于其使用的是PG数据库,因此这些信息从相应表中同样可以检索出来,一方面方便了这种密码忘记的找回,另一方面实际是开了后门,任何访问GitLab服务器的用户,都有方法查询到甚至直接修改所有用户的信息,听起来还是很可怕的一件事情,因此便捷性和安全性有时可能就是互相冲突的一对矛盾,此消彼长。
————————————————
版权声明:本文为CSDN博主「bisal」的原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/bisal/article/details/54672184

原文地址:https://www.cnblogs.com/twobrother/p/11648169.html

时间: 2024-11-01 11:14:10

强制找回GitLab管理员账户密码的方法的相关文章

强制找回gitlab管理员密码

强制找回gitlab管理员密码 最近使用gitlab的时候发现管理员密码忘记,现将找回密码的操作过程记录下来. 1.在gitlab登录窗口 如果密码忘记了登录不进入,可以先尝试点击登录框下方的Forgot your password来通过邮箱的方式找回,如果邮箱不可以使用了,则看下面的强制找回方法 2.输入邮箱账号找回 输入当初设置的邮箱帐号,这一步前提是邮箱可以正常使用的情况下才可以使用的方法 3.通过xshell连接到gitlab安装的服务器 输入su - git 切换到git用户下操作,切

关于Windows_8.1/Windows 7下普通用户运行软件提示需要输入管理员密码解决方法

关于Windows_8.1/Windows 7下普通用户运行软件提示需要输入管理员密码解决方法 1. 问题起因 最近遇到一个比较棘手问题,顺丰速运修改了快递单填写方式,必须要安装他们公司开发的一个软件(软件名叫"速打线下用户专用版"),这个软件非常奇葩,只要是普通用户运行该软件,就弹出"用户控制"的对话框要求输入管理员密码,要么就把用户账户加入管理员组才能正常运行,作为一家比较有规模的企业,怎么可能随便开放管理员权限啊!这样做将会有无尽麻烦(如果你是管理员,你懂的)

修改 SVN 账户密码的方法

记是记不住 的,即便是每天都在用的东西,也有貌似熟悉其实很陌生的时候,或者说根本就是不熟悉.于是需要拿出来经常翻翻,比如我们的SVN账户配置,很简单的一个 case,你可能是svn使用高手,但不一定记得怎么去修改SVN下的账号设置.一般我们都是长期使用自己的svn账号,但是由于需要或者某些情况,需要 我们切换svn账号,那就有点麻烦了. 由于在svn 的界面中并没有为我们提供直接更换用户名密码的地方,所以一旦我们需要更换用户名的就需要自己想一些办法. Case1: 在Eclipse 使用SVN

三种用组策略将域帐户加入本地管理员组的方法

采用下列3种方法之一即可实现: 1.对于WIN2003域控制器(DC)环境,使用计算机策略的"受限制的组" 2.对于WIN2008/2008R2(尽可能用R2的DC)的DC环境,使用用户配置首选项中"本地用户和组".用在将登录帐号自动加入本地管理员组的场合. 3.对于WIN2008/2008R2(尽可能用R2的DC)的DC环境,使用计算机配置首选项中"本地用户和组",用在将重要的域组加入客户端本地管理员组的场合. 下面让我细细道来. 第1种方法的

找回WordPress登录密码的方法

方法一:通过邮件取回 前提是你的主机空间支持发送邮件,这样你就可以点击WordPress登录页面的"忘记密码?"按操作即可找到. 方法二:修改数据库信息 登录phpMyadmin ,进入到网站对应的数据库,然后打开 wp_users 那个表,你会看到所有用户信息. 比如上图中,管理员 demo 对应的密码是 user_pass 下的MD5值,你只需将它修改为 5d41402abc4b2a76b9719d911017c592,然后demo的密码就改为了 hello ,就可以登录啦!然后在

”由于没有远程桌面授权服务器可以提供许可证,远程会话被中断。请跟服务器管理员联系” 解决方法

(一) Windows server 2012服务器远程桌面登录时出现错误提示:“由于没有远程桌面授权服务器可以提供许可证,远程会话被中断.请跟服务器管理员联系.”此时可以使用“mstsc /admin /v:目标ip”来强制登录服务器,但只能是管理员身份. 按照网上说的某种方法,删除注册表以下项:HKEY_LOCAL_MACHINE\Software\Microsoft\MSLicensing. 并不能解决问题,之后出现了新的错误提示,如第二个图:“远程会话已断开连接,因为访问被拒绝导致许可证

MAC系统 输入管理员账户密码 登录不上

mac新系统改密码~管理员 升级10.13.2后,很多不会操作了, 那天把系统管理员设置成了普通管理,就不能打开个别软件了, 贼尴尬~~~ 后来找blog才解决,现在分享下~~ http://www.cnblogs.com/ZZY0808/p/8430987.html 前因 今天不知怎么就想把苹果电脑原来的名字给改一下,于是就做了下面的操作(你们不要这样做) 1.系统偏好设置→用户与组群→当前管理员用户→(右键)高级选项 然后就账户名称和全名都改了. 2.然后就哭了,我的管理员账户就变成了普通用

管理员账户遇到“操作需要管理员权限”解决方法

有时候,明明已经使用了管理员账户登录了,或当前系统中只有一个账户就是管理员账户,在安装软件或者是对硬盘文件进行操作时,却屡屡提示"需要管理员权限". 对于这个问题,可能是系统设置问题,也可能是文件本身设置了安全访问限制,只要进行相应的设置就能解决问题了. 工具/原料 win7系统 方法/步骤 安装软件.文件操作都需要"管理员账户权限": 有时候新装了系统,会出现已经使用了管理员账户登录,但是进行文件操作或安装软件的时候还提示需要"管理员账户权限"

无法将类型为excel.applicationclass的com 强制转换为接口类型的解决方法[转]

c#解决方案EXCEL 导出 今天碰到客户的电脑在导出EXCEL的时候提示,无法将类型为 excel.applicationclass 的 com 强制转换为接口类型 excel._application 的问题 最后用下面的方法解决,最主要的就是这句话: “C:\Program Files\Microsoft Office\OFFICE11\excel.exe” /regserver 客户电脑的故障是原先导出正常,后来突然不能导出了,事后估计是因为安装了WPS的原因,导致相应的组件冲突. 中间