本文 編集 履歴 ソース 差分 最近の更新 VikiWikiとは

VikiWiki - BugReportReplaceAdminsByWikiFarm

問題

WikiFarmでファームサイトを作成するときに管理者アカウントを入力するが、 そのときに指定した管理者アカウントが誤って親サイト側に登録されてしまいます。 これにより、最後にWikiFarmを作成した管理者アカウントがAdminPageを 開くことができるようになります。

原因

WikiFarmの管理者アカウントの登録におけるプログラム障害です。

本来であれば、farm/hogehoge/data/plugin/admin.txtに管理者アカウントが 登録されるはずですが、誤ってdata/plugin/admin.txt(親サイト側)を置き換えてしまいます。

対象

以下の運用の場合に問題が発生します。

対処

VikiWiki 1.8.7.20で修正されていますので置き換えてください。

または、WikiFarmを無効にしてください。 WikiFarmを無効にするには、CGIスクリプトのWIKIFARMの値をfalseにします。

"WIKIFARM"=>false,

ソースレベルで回避する場合はvikiwiki/plugin/admin.rbの 540行目あたりの# edit here!の個所を修正しますします。 これにより、管理者として登録されているメンバでもAdminPageを 開くことができなくなります。

		private
			def admins?
				if @admins.nil? then
					@admins = [] # edit here!
					if @admins then
						@sys.acl.system.map!{|ac|