在现有安装中,我已将 teamcity 从使用基本身份验证切换到使用 NTLM。
这工作正常,除了管理员用户没有相应的 NT 帐户,因此不适用于 NTLM 配置。(很容易回滚,所以不是压力)。
我的问题是-手动将用户设置为管理员的命令是什么-即修改数据库?
(像这样:TeamCity 忘记了管理员密码 - 去哪里看?)但是将用户的角色更改为全局系统管理员。
编辑 - 我们正在使用 HSQLDB。
在现有安装中,我已将 teamcity 从使用基本身份验证切换到使用 NTLM。
这工作正常,除了管理员用户没有相应的 NT 帐户,因此不适用于 NTLM 配置。(很容易回滚,所以不是压力)。
我的问题是-手动将用户设置为管理员的命令是什么-即修改数据库?
(像这样:TeamCity 忘记了管理员密码 - 去哪里看?)但是将用户的角色更改为全局系统管理员。
编辑 - 我们正在使用 HSQLDB。
原来这是这个过程:
...\TeamcityPrefs\system
运行以下命令
java -cp ...\TeamCity\webapps\ROOT\WEB-INF\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
"jdbc:hsqldb:file:buildServer"
使用用户名"SA"
和密码设置连接 url""
select * from users u where u.username = 'myuser'
insert into user_roles (user_id, role_id) values (42, 'SYSTEM_ADMIN')
运行 HSQLDB 数据库管理器需要 X 显示 - 实际上使用 SqlTool 更快更简单:
在运行 TeamCity 的用户的主目录中创建一个 sqltool.rc
urlid teamcity
url jdbc:hsqldb:file:buildserver
用户名 sa
密码
在您的 TeamCity 数据目录中,cd 到系统并运行:
java -cp PATH-TO/webapps/TeamCity-6.5.5/WEB-INF/lib/hsqldb.jar org.hsqldb.util.SqlTool teamcity
在 SQL 提示符下,运行上面由 hawkeye 给出的 remdial 操作。
请记住在进行更改后提交
您可以从 TeamCity 文档中尝试此操作,但它可能不适用于 NTLM。
您使用什么数据库进行 TeamCity 安装?如果您使用的是 SQL Server 后端,那么您可以查看 user_roles 表,您需要将 role_id 设置为 SYSTEM_ADMIN,项目 id 为 NULL,并从 users 表中找到 user_id(用户需要登录队城)。该方法与其他存储后端类似,但简单地重新启动可能更容易。