Teamcity NTLM 身份验证更改 - 管理员用户在转换过程中丢失
我已在现有安装的 teamcity 中从使用基本身份验证切换为使用 NTLM。
这工作正常,只是管理员用户没有相应的 NT 帐户,因此不适用于 NTLM 配置。 (很容易回滚,所以不是压力)。
我的问题是 - 手动将用户设置为管理员的命令是什么 - 即修改数据库?
(如下所示:TeamCity 忘记了管理员密码 - 在哪里查找?)而是将用户的角色更改为全局系统管理员。
编辑 - 我们正在使用 HSQLDB。
I've switched in teamcity from using basic authentication to using NTLM, on an existing installation.
This works fine, except that the admin user didn't have a corresponding NT account, and so doesn't work on the NTLM configuration. (It is easy to roll back, so it is not a stress).
My question is - what is the command to set a user to admin manually - ie modifying the database?
(like this: TeamCity forgotten admin password - where to look?) but changing the role of a user to global system administrator.
Edit - we're using HSQLDB.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
您可以尝试TeamCity 文档中的方法 但它可能不适用于 NTLM。
您使用什么数据库来安装 TeamCity?如果您使用的是 SQL Server 后端,那么您可以查看 user_roles 表,您需要将 role_id 设置为 SYSTEM_ADMIN,项目 id 为 NULL,并从 users 表中找到 user_id(用户需要登录)团队城市)。该方法与其他存储后端类似,但简单地重新启动可能更容易。
You could try this from the TeamCity documentation but it may not work with NTLM.
What database are you using for the TeamCity installation? If you're using the SQL Server backend then you can look in the user_roles table, you would need to set the role_id to SYSTEM_ADMIN with a NULL for project id and find the user_id from the users table (the user will need to have logged into TeamCity). The approach would be similar for other storage backends but it may be easier to simply restart.
结果是这样的过程:
...\TeamcityPrefs\system
运行以下命令java -cp ...\TeamCity\webapps\ROOT\WEB-INF\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
"jdbc:hsqldb:file :buildServer"
,用户名"SA"
和密码""
select * from users u where u.username = 'myuser'
insert into user_roles (user_id, role_id) values (42, 'SYSTEM_ADMIN')
Turns out this is the process:
...\TeamcityPrefs\system
run the following commandjava -cp ...\TeamCity\webapps\ROOT\WEB-INF\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
"jdbc:hsqldb:file:buildServer"
with username"SA"
and password""
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:文件: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 操作。< /p>
请记住在进行更改后提交
Running HSQLDB Database Manager requires an X display - it's actually a lot quicker and simpler to use SqlTool instead:
Create an sqltool.rc in the home directory of the user running TeamCity
urlid teamcity
url jdbc:hsqldb:file:buildserver
username sa
password
in your TeamCity datadirectory, cd to system and run:
java -cp PATH-TO/webapps/TeamCity-6.5.5/WEB-INF/lib/hsqldb.jar org.hsqldb.util.SqlTool teamcity
At the SQL prompt, run the remdial action above given by hawkeye.
Remember to commit after making your changes