2

既存のインストールで、teamcity を基本認証の使用から NTLM の使用に切り替えました。

これは、管理者ユーザーが対応する NT アカウントを持っていなかったことを除いて、正常に機能し、NTLM 構成では機能しません。(ロールバックしやすいのでストレスになりません)。

私の質問は、ユーザーを手動で管理者に設定するコマンドは何ですか?つまり、データベースを変更しますか?

(このように: TeamCity は管理者パスワードを忘れました - どこを見ますか? ) しかし、ユーザーの役割をグローバルシステム管理者に変更します。

編集 - HSQLDB を使用しています。

4

3 に答える 3

3

これがプロセスであることがわかります:

  1. teamcity サーバーにログオンします。
  2. teamcity Web サーバーを停止し、このマシンでサーバー サービスを構築します
  3. teamcity prefs ディレクトリから...\TeamcityPrefs\system次のコマンドを実行します java -cp ...\TeamCity\webapps\ROOT\WEB-INF\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
  4. "jdbc:hsqldb:file:buildServer"ユーザー名"SA"とパスワードを使用して接続URLをに設定します""
  5. 更新するユーザーのユーザー ID を取得します。select * from users u where u.username = 'myuser'
  6. そのユーザーの管理者ロールを挿入します。insert into user_roles (user_id, role_id) values (42, 'SYSTEM_ADMIN')
  7. HSQLDB マネージャーを閉じる
  8. チームシティを開始
于 2011-03-01T22:41:21.567 に答える
1

HSQLDB Database Manager を実行するには、X ディスプレイが必要です。実際には、代わりに SqlTool を使用する方がはるかに迅速かつ簡単です。

  1. TeamCity を実行しているユーザーのホーム ディレクトリに sqltool.rc を作成します。

    urlid teamcity
    url jdbc:hsqldb:file:buildserver
    ユーザー名 sa
    パスワード

  2. TeamCity データディレクトリで、システムに cd して実行します。

    java -cp PATH-TO/webapps/TeamCity-6.5.5/WEB-INF/lib/hsqldb.jar org.hsqldb.util.SqlTool teamcity

  3. SQL プロンプトで、hawkeye によって指定された上記の修復アクションを実行します。

  4. 変更を行った後は忘れずにコミットしてください

于 2011-11-14T12:39:31.190 に答える
0

TeamCity のドキュメントからこれを試すことができますが、NTLM では機能しない可能性があります。

TeamCity のインストールに使用しているデータベースは何ですか? SQL Server バックエンドを使用している場合は、user_roles テーブルを調べることができます。role_id を SYSTEM_ADMIN に設定し、プロジェクト ID を NULL にして、users テーブルから user_id を見つける必要があります (ユーザーはログインしている必要があります)。チームシティ)。このアプローチは他のストレージ バックエンドでも同様ですが、単純に再起動する方が簡単な場合があります。

于 2011-02-07T18:04:01.053 に答える