注意:MediaWiki 1.40 之後,維護腳本需使用 maintenance/run.php 執行,不再直接執行腳本檔案。
以 https://github.com/checko/mediawiki144 啟動/restore 的 mediawiki container 為例:
方法一:建立新的管理員帳號
建立一個具有管理員和行政員權限的新帳號:
docker compose exec mediawiki php maintenance/run.php createAndPromote \
--bureaucrat --sysop --force \
使用者名稱 密碼
範例:
docker compose exec mediawiki php maintenance/run.php createAndPromote \
--bureaucrat --sysop --force \
admin AdminPassword123!
方法二:重設現有使用者密碼
變更現有使用者的密碼:
docker compose exec mediawiki php maintenance/run.php changePassword \
--user=使用者名稱 \
--password=新密碼
範例:
docker compose exec mediawiki php maintenance/run.php changePassword \
--user=Ken.Lin \
--password=kenlinpassword123!
方法三:提升現有使用者為管理員
將現有使用者提升為管理員和行政員:
docker compose exec mediawiki php maintenance/run.php createAndPromote \
--bureaucrat --sysop --force \
使用者名稱
範例:
docker compose exec mediawiki php maintenance/run.php createAndPromote \
--bureaucrat --sysop --force \
ExistingUser
方法四:使用 SQL 指令直接操作(不建議)
直接在資料庫中授予使用者管理員權限:
docker compose exec mysql mysql -u root -proot_password mediawiki -e "
INSERT INTO user_groups (ug_user, ug_group)
SELECT user_id, 'sysop' FROM user WHERE user_name = '使用者名稱'
ON DUPLICATE KEY UPDATE ug_group = ug_group;
INSERT INTO user_groups (ug_user, ug_group)
SELECT user_id, 'bureaucrat' FROM user WHERE user_name = '使用者名稱'
ON DUPLICATE KEY UPDATE ug_group = ug_group;
"
權限說明
- sysop:管理員權限,可以刪除頁面、封鎖使用者、保護頁面等
- bureaucrat:行政員權限,可以授予其他使用者權限、重新命名使用者等
注意事項
- 使用 maintenance/run.php 是 MediaWiki 1.40 之後的標準做法
- 舊的直接執行方式(maintenance/scriptName.php)雖仍可用但已過時
- 建議使用維護腳本而非直接操作 SQL 資料庫
- 密碼中如有特殊字元,需注意 shell 跳脫字元處理
沒有留言:
張貼留言