Изменение проверки подлинности Teamcity NTLM - администратор потерял пользователя при переходе - PullRequest
2 голосов
/ 07 февраля 2011

Я перешел в teamcity с обычной аутентификации на NTLM в существующей установке.

Это работает нормально, за исключением того, что у пользователя с правами администратора не было соответствующей учетной записи NT, и поэтому он не работает в конфигурации NTLM. (Откатить легко, поэтому это не стресс).

У меня такой вопрос - что это за команда, чтобы вручную настроить пользователя для администрирования, т. Е. Изменить базу данных?

(например: TeamCity забыл пароль администратора - где искать? ), но сменил роль пользователя на глобального системного администратора.

Редактировать - мы используем HSQLDB.

Ответы [ 3 ]

3 голосов
/ 02 марта 2011

Оказывается, это процесс:

  1. Войдите на сервер teamcity
  2. Остановите веб-сервер teamcity и создайте серверные службы на этом компьютере
  3. Из teamcityкаталог prefs ...\TeamcityPrefs\system выполните следующую команду java -cp ...\TeamCity\webapps\ROOT\WEB-INF\lib\hsqldb.jar org.hsqldb.util.DatabaseManager
  4. Установите для URL-адреса соединения "jdbc:hsqldb:file:buildServer" с именем пользователя "SA" и паролем ""
  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. Запустить teamcity
1 голос
/ 14 ноября 2011

Для запуска HSQLDB Database Manager требуется отображение X - на самом деле вместо него проще использовать SqlTool:

  1. Создайте sqltool.rc в домашнем каталоге пользователя, запустившего TeamCity

    urlid teamcity
    url jdbc: hsqldb: файл: buildserver
    имя пользователя sa
    пароль

  2. в вашем каталоге данных TeamCity, перейдите к системе и запустите:

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

  3. В командной строке SQL запустите приведенное выше действие remdial, заданное hawkeye.

  4. Не забудьте зафиксировать после внесения изменений

0 голосов
/ 07 февраля 2011

Вы можете попробовать из документации TeamCity , но она может не работать с NTLM.

Какую базу данных вы используете для установки TeamCity? Если вы используете сервер SQL Server, то вы можете посмотреть в таблице user_roles, вам нужно установить для role_id значение SYSTEM_ADMIN с NULL для идентификатора проекта и найти user_id из таблицы users (пользователю нужно будет войти в систему). TeamCity). Подход был бы аналогичным для других серверных систем хранения, но может быть проще просто перезапустить.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...