题
我需要恢复/重置 JetBrain 的管理员密码 团队城市.
我对服务器有完全的 RDP 访问权限,所以没有问题。我们使用它才过去两个月,所以现在我忘记了我的登录信息 - 我常用的登录信息不起作用。
目前它的设置没有数据库,所以希望用户名只是在某个文件中,但到目前为止还没有找到它。
解决方案
在的情况下没有这些作品的,请参阅 http://sebastienlachance.com/post/复位-TeamCity的-Password.aspx 。
打开命令提示,并转到\ web应用\ ROOT \ WEB-INF \ lib文件夹。现在键入以下内容:
..\..\..\..\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword username newpassword
其他提示
在 TeamCity 8 中,您可以以超级用户身份登录并以这种方式更改密码。您只需使用空用户名和在logs eamcity-server.log 文件中找到的最后一次出现的“超级用户身份验证令牌”作为密码。
请参阅以下内容以获取更多信息:
有关的TeamCity 6.5.4
从在[TeamCity的安装文件夹]命令提示\ web应用\ ROOT \ WEB-INF \ lib中:
..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin NewPassword
我的用户名是“管理员”在我的情况(我想我安装时设置的,但我不能肯定)。
予忽略,则路径TeamCity的参数,它是足够聪明使用正确的路径(我的是C:\用户\ administrator.BuildServer)
当我提供的(错误的)路径的TeamCity作为参数我接收到这样的信息:
Using TeamCity configuration directory path: c:/TeamCity/.BuildServer
Exception in thread "main" java.sql.SQLException: Table not found in statement [UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
at org.hsqldb.jdbc.Util.throwError(Util.java:58)
at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.java:1833)
at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:580)
at ChangePassword.main(ChangePassword.java:14)
在此情况下,其他混淆人太
您可以尝试复位的TeamCity的安装,通过去除TeamCity的数据目录(默认$/.BuildServer
目录)
尝试以下方法:
首先停止TeamCity的服务(如果安装也将停止生成剂)。 接下来打开一个控制台,进入你的java目录,并从那里运行以下命令:
java.exe -cp server.jar; hsqldb.jar ChangePassword USERNAME PASSWORD "PATH_TO_YOUR_TEAMCITY_INSTALLATION".BuildServer
我刚刚经历这种痛苦与V5 EAP。
我设法通过运行成功重置密码:
C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password c:\TeamCity\.BuildServer
虽然你需要替换C:\ TeamCity的与你的任何地方安装位于
在这种情况下帮助别人,在我的服务器放置在build目录管理员的配置文件下,不是在C谁安装的TeamCity:\的TeamCity。
具体地,对于在Tomcat运行在Windows TeamCity的这将是C:\ ProgramData \ JetBrains的\ TeamCity的
指定的目录作为最后一个参数必须是数据目录(发现/logs/teamcity-server.log)
如果你没有这个正确的你会得到“没有找到表”错误。
您会得到一个“数据库已在使用”的错误,如果你有跑步的TeamCity
您还可以搜索你/logs/teamcity-server.log看你是否创建管理员,管理员,或一些其他管理员用户名。
有关每个人都可以在本文多年的原答案像我只是做了之后到达,有一个内置超级用户帐户和密码进行再生每支球队城市启动时,密码是在日志中。你可以使用这个超级用户登录并重置所有密码。这是超级简单。
TeamCity的总是使用一个数据库 - 如果你还没有明确的配置之一,它的使用HSQLDB数据库来存储数据的内部。
当使用外部数据库,用户信息被存储在该数据库中,因此它似乎很可能是在你的情况下,用户信息将被存储在HSQLDB系统内。
您可能能够通过与数据库把玩周围,以获得对系统的访问 - 但我建议先进行备份
。第二个建议 - 删除支持球员在JetBrains公司的电子邮件。即使在我的工作场所心血来潮买了TeamCity的企业许可证,他们的支持是一流的 - 快速,准确,有效
使用的TeamCity 5使用MySQL(可能是其它版本和RDBMS为好,但未经测试),这是可以直接经由SQL更新密码:
mysql> update users set password = md5("mypass123") where username = "bob";
不过,我会坚持用别人已提到的CLI版本,如果没有一个很好的理由不这样做。
第一点是,如果你退出登录屏幕具有用户名“TCAdmin”已经填好,当它应该是“管理员”。 TCAdmin是全名(我认为)的默认版本5的管理员用户。改变这种以管理员,然后用我认为这是解决我的问题的密码。
有关复位... 在情况下,它可以帮助别人在Windows XP上其他的TeamCity的5.0版本,我.BuildServer配置信息也正在我目前登录的用户的文档和设置文件夹。此外,我是通过在jar文件在塞巴斯蒂安的上述很好的答案列表中的空间绊倒。
因此,我改变这个目录在命令提示:
c:\teamcity\webapps\ROOT\WEB-INF\lib
和然后此命令行(设定密码:密码1)为我工作:
C:\TeamCity\webapps\ROOT\WEB-INF\lib>..\..\..\..\jre\bin\java.exe -cp server.jar;commonapi.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword administrator Password1
这给了输出:
Using TeamCity configuration directory path: C:/Documents and Settings/tamw/.BuildServer
Password changed successfuly
- 停止团队城市
- 您应该将路径传递给您的构建服务器 例如如果您将构建服务器安装到目录“c:\.BuildServer”
........\jre\bin\java.exe -cp server.jar;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar 更改密码用户名新密码 c:\.构建服务器
下面是为我工作。
关闭服务器服务
> cd c:\TeamCity\webapps\ROOT\WEB-INF\lib>
然后
> ..\..\..\..\jre\bin\java.exe -cp server.jar ;common-api.jar;commons-codec-1.3.jar;util.jar;hsqldb.jar ChangePassword admin password1 C:\ProgramData\JetBrains\TeamCity\
如果没有在最后的路径中,将失败:
Exception in thread "main" java.sql.SQLException: Table not found in statement [
UPDATE users SET PASSWORD = ? WHERE USERNAME = ? AND REALM IS NULL]
at org.hsqldb.jdbc.Util.throwError(Util.java:58)
at org.hsqldb.jdbc.jdbcPreparedStatement.<init>(jdbcPreparedStatement.ja
va:1833)
at org.hsqldb.jdbc.jdbcConnection.prepareStatement(jdbcConnection.java:5
80)
at ChangePassword.main(ChangePassword.java:14)
我们正在使用的TeamCity 7与MS SQL Server作为RDBMS。
要重置您的密码,您可以使用以下查询:
UPDATE users SET password = LOWER(SUBSTRING(sys.fn_sqlvarbasetostr(HASHBYTES('md5','your_new_password')),3,32))
where username = "your_user_name";
要改变用户口令:
关闭服务器
切换到/ web应用/ ROOT / WEB-INF / lib目录
调用以下命令:
Windows平台: 的java -cp的server.jar;共api.jar文件;公共编解码器-1.3.jar; util.jar;的hsqldb.jar ChangePassword
的Unix平台: 的java -cp的server.jar:共api.jar文件:公地编解码器-1.3.jar:util.jar:的hsqldb.jar ChangePassword
您可以跳过选项,如果你使用的是默认路径TeamCity的数据文件:/.BuildServer
[参考:http://confluence.jetbrains.com/display/TCD7/Changing+user+password+with+default+authentication+scheme]
另外,你可以使用TeamCity的服务器日志和检索超级用户令牌。
使用令牌,转到URL: HTTP://(服务器):(端口)/login.html?super=1
即: HTTP://本地主机:92 / login.html的超级= 1 一>
一旦你登录后,你总是可以创建新的用户或有问题的帐户重置密码。
超级用户直接URL:
http://servername:port/login.html?super=1
打开的TeamCity日志文件夹中(实施例C:驱动器:C:\ TeamCity的\原木):TeamCity的-server.log中,找到关键:“超级用户认证”
[2019-03-04 12:14:30,770] INFO - jetbrains.buildServer.SERVER - Super user authentication token: `8347518935696887114` (use empty username with the token as the password to access the server)
我在同样的情况通过并用超级用户做了登录,按照以下步骤进行:
1 - 获取令牌在路径中的 “TeamCity的-的server.log” “XX:\ TeamCity的\日志”;
2 - 访问和使用代币在网址登录: “/login.html?super=1”;
更多关于它: