Confluence 5 通過重置密碼來獲得管理員許可權
本頁中的內容:
- 在開始之前
- 第一步:確定管理員
- 第2步:替換管理員密碼
- 第3步:將內部目錄放置為第一位
- 第4步:清理
如果你不能作為管理員登錄 Confluence (例如,你弄丟了你的管理員密碼),你可以以恢復模式啟動 Confluence 來恢復你的管理員用戶許可權。
如果你使用的是下面的方式,那麼這個指南可能並不適用你:
- Confluence 被配置通過使用 Crowd 來 SSO。這個指南只覆蓋了如何從 Confluence 內部目錄中重置管理員用戶密碼。如果你啟用了 Crowd SSO,你就不能通過這個方法重置你的系統管理員密碼。請參考 Integrating Crowd with Atlassian Confluence 頁面的內容來獲取如何啟用和禁用 Crowd SSO。
- 你正在使用 Confluence 3.4 或更早的版本。
請參考操作的版本 OSUser 或者 AtlassianUser。
如果你還在使用早期的版本的話,我們建議你儘快升級。
在開始之前
下面的步驟我們是在示例資料庫上進行操作的,應該也能夠在 MySQL 和 PostgreSQL 上正確配置。你可能需要針對你安裝資料庫的不同進行一些 SQL 的調整。
我們強烈推薦你在正式運行的資料庫上進行任何 SQL 操作之前先在測試資料庫上先運行和測試。
如果你知道你的管理員用戶名,並且這個管理員的郵件地址是有效的,同時你的系統也正確配置了郵件伺服器的話。你可以使用界面的重置用戶密碼鏈接進行對你管理員賬號的密碼進行重置。
系統將會向你的管理員賬號下發送一個重置密碼的鏈接。
獲得資料庫的訪問許可權
如果你使用默認安裝嵌入的 H2 資料庫,你可以在 <confluence-home-directory>/database 中找到你的額資料庫文件。查看
通過重置密碼來獲得管理員許可權 來獲得更多的信息。
如果你使用的是外部生產資料庫,你可以使用你常用的工具連接這些外部資料庫。你需要具有這些資料庫的查詢和更新許可權。
第一步:確定管理員
希望找到那些用戶具有管理員許可權,你需要連接你的資料庫。你可以使用一些資料庫工具例如 DBVisualiser。
如果你的系統還沒有安裝這些工具,你需要首先進行下載和安裝,然後在資料庫管理工具中運行下面的 SQL 來獲得你的管理員用戶名和 ID。
select u.id, u.user_name, u.active from cwd_user u
join cwd_membership m on u.id=m.child_user_id join cwd_group g on m.parent_id=g.id join cwd_directory d on d.id=g.directory_id
where g.group_name =
confluence-administrators
and d.directory_name=Confluence Internal Directory;
如果返回的結果有多條記錄的話,選擇一個ID/username 組合,然後繼續下面的操作。、
如果返回的結果沒有任何記錄,請直接進入步驟: If No Local Administrator Exists.
同時請確定 active 欄位的值為 "T",如果沒有這個標誌位的話,重置用戶密碼的操作是不會成功的。
你可以使用下面的 SQL 來將這個標誌位設置為 T,你可以用你的用戶名來替換掉 SQL 中的 "<user_name>" 內容。
UPDATE cwd_user
SET active =
T
WHERE user_name =<user_name>;
如果沒有管理員賬號
在你的本地內部目錄中,有可能管理員賬號不存在。如果是這種情況的話,你需要添加一個:
- 通過運行下面的 SQL 來添加一個管理員賬號:
insert into cwd_user(id, user_name, lower_user_name, active, created_date, updated_date, first_name, lower_first_name, last_name, lower_last_name, display_name, lower_display_name, email_address, lower_email_address, directory_id, credential) values (1212121,
admin,
admin,
T,
2009-11-26 17:42:08,
2009-11-26 17:42:08,
A. D.,
a. d.,
Ministrator,
ministrator,
A. D. Ministrator,
a. d. ministrator,
admin@example.com,
admin@example.com, (select id from cwd_directory where directory_name=Confluence Internal Directory),
x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A==);
insert into user_mapping values (2c9681954172cf560000000000000001,
admin,
admin);
- 通過下面的 SQL 來將這個賬號添加到管理員用戶組:
insert into cwd_group(id, group_name, lower_group_name, active, local, created_date, updated_date, description, group_type, directory_id)
values (
888888,confluence-administrators,confluence-administrators,T,F,2011-03-21 12:20:29,2011-03-21 12:20:29,NULL,GROUP,(select id from cwd_directory where directory_name=Confluence Internal Directory));
insert into cwd_group(id, group_name, lower_group_name, active, local, created_date, updated_date, description, group_type, directory_id)
values (
999999,confluence-users,confluence-users,T,F,2011-03-21 12:20:29,2011-03-21 12:20:29,NULL,GROUP,(select id from cwd_directory where directory_name=Confluence Internal Directory));
- 將組成員添加到 cwd_membership:
insert into cwd_membership (id, parent_id, child_user_id) values (888888, (select id from cwd_group where group_name=confluence-users
and directory_id=(select id from cwd_directory where directory_name=Confluence Internal Directory)),
1212121);
insert into cwd_membership (id, parent_id, child_user_id) values (999999, (select id from cwd_group where group_name=confluence-administrators
and directory_id=(select id from cwd_directory where directory_name=Confluence Internal Directory)),
1212121);
如果你使用的是 Oracle 資料庫,使用 sysdate 來替換掉 created_date
欄位名。
第2步:替換管理員密碼
Confluence 不會在資料庫中保存文本格式的密碼,所保存的密碼都是加密後的哈希字元串。你需要在資料庫中插入加密後的哈希字元串而不是原始的文本數據。
下面的數碼是密碼:admin,加密後的哈希字元串(對字元 admin 進行哈希)。
x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A==
希望修改制定用戶的密碼為 admin
:
- 關閉 Confluence
- 連接你的資料庫
- 運行下面的 SQL:
update cwd_user set credential =
x61Ey612Kl2gpFL56FT9weDnpSo4AV8j8+qx2AuTHdRyY036xxzTTrw10Wq3+4qQyB+XURPWx1ONxp3Y3pB37A==
where id=<id from Stage
1>;
第3步:將內部目錄放置為第一位
啟動 Confluence,然後嘗試使用你在上面修改的用戶名,或者是你新創建的用戶名,登錄密碼是 admin 進行登錄。
如果登錄成功,那麼你可以跳過第4步的操作了,如果還不成功說明你的內部目錄還不是最高的優先順序。
將內部目錄放到系統第一位:
- 找到系統內部目錄的名字和順序:
select d.id, d.directory_name, m.list_index from cwd_directory d join cwd_app_dir_mapping m on d.id=m.directory_id;
- 記錄 Confluence 內部目錄 list_index 0, 和 the list_index 和 ID 的 ID。
- 切換內部目錄的順序:
update cwd_app_dir_mapping set list_index =
0
where directory_id = <Internal Directory id>;
update cwd_app_dir_mapping set list_index = <Noted Internal Directory list_index> where directory_id = <Directory id that had list_index
0>;
- 檢查內部目錄是否是激活的(active 欄位應該標記為 T):
select id, directory_name, active from cwd_directory where id = <Internal Directory id>;
- 如果必要的話,激活目錄:
update cwd_directory set active =
T
where id = <Internal Directory id>;
第4步:清理
To tidy up:
- 啟動 Confluence
- 使用你在上面修改的用戶名,或者是你新創建的用戶名,登錄密碼是 admin 進行登錄
- 修改你的密碼 password
Dont leave your password as admin; if you do, your instance wont be secure.
- 如果你在第二步創建的是一個新的用戶,在 UI 界面中在創建一個新的用戶,並且刪掉第2步創建的用。
- 如果你遵循第3步調整了用戶目錄,請到
> 基本配置(General Configuration) > 用戶目錄(User Directories)對用戶目錄進行重新調整,這樣能夠保證系統配置正確。
通過重置密碼來獲得管理員許可權 - Confluence 5 中文 - NTC CWIKI 維基推薦閱讀:
TAG:Confluence |