- 2010-08-13 (金) 19:52
- TeamSpeak3 | VoIP
TeamSpeak3 Server の beta27 が出ていますね。
TS3はまだβフェイズなので大胆な設定の変更が行われます。
そのひとつがアクセス権の初期設定の変更です。
前のバージョンのサーバの設定を引き継いだ場合は、この影響をあまり受けません。
ただ、データベースを新しく作り直した場合には、アクセス権の初期設定の影響を受けるかもしれません。
β27のアクセス権の問題
β27の初期設定だとチャンネルグループ channel admin に属するユーザにチャンネル説明を変更する権限がありません。
身内向けサーバの管理者はあまり困らないかもしれませんが、公開サーバでチャンネルを自由に創れるように設定してある場合は少し困るかも知れません。
解決するには次のクエリコマンドを入力しましょう。
use sid=1 servergroupdelperm sgid=8 permsid=b_channel_modify_description
もちろんserveradminでログインしてから実行してください。
問題発生の理由
解決方法だけ見ても納得できない人向けに原因を書いて置きます。
アクセス権の初期設定でサーバグループ Guest のアクセス権 b_channel_modify_description に skip が設定されているのが原因です。
TeamSpeak3のアクセス権は階層構造になっています。階層は5階層あり、サーバグループ、クライアント、チャンネル、チャンネルグループ、チャンネルクライアントの順番で後者に設定されているアクセス権が優先して適用されます。ひとつ例外があってサーバグループのアクセス権にskipやnegateが設定されていた場合です。
サーバグループのアクセス権にskipが設定されていた場合は階層構造が無効になりサーバグループ Guest で設定されたアクセス権が優先されます。
今回の場合はサーバグループのGuestのb_channel_modify_descriptionの設定が偽でありskipが真であったために、チャンネルグループ channel admin に設定されているb_channel_modify_description の権限が無視されてしまい channel admin グループに属するユーザがチャンネルの説明を変更できなくなっていたわけです。
サーバグループNoraml と Guest のアクセス権を見比べてみるたところ、ユーザにチャンネルを作成させるならそのユーザをNormalグループに所属させろという感じの意図が見て取れます。チャンネル説明が変更できないことが問題というより、私たちが開発者の意図しない使い方をしていることの方が問題かもしれませんね。