權限系統是非常多功能的,並且是一個豐富的系統特色,決定了哪些使用者可以進行哪些操作。
(布林權限) Boolean Permissions
-------------------
這些權限只有兩個值表示,true或false。
Example:
b_virtualserver_modify_name
從權限的名稱就可以立刻判斷這是一個布林權限,由 "b_" 作為開頭。
在這個前綴詞之後的是這個權限的實際名稱,可以幫助你理解這是個甚麼樣的權限。
在這個例子中,這個權限控制你是否可以改變虛擬伺服器的名稱
如果它被設定為"true",你可以改變伺服器的名稱,如果這個權限被設為"false"或沒設立則反之。
(整數權限) Integer Permissions
-------------------
這些權限允許以整數來表示數值。
Examples:
i_channel_max_depth
從權限的名稱就可以立刻判斷這是一個整數權限,由 "i_" 作為開頭。
權限的實際名稱,channel_max_depth可以告訴你它是個怎麼樣的權限。
在這裡它可以控制設立頻道的深度有多少。
如果它被設為"0",代表你指可以在最頂層設立頻道
如果它被設為"1",你則可以建立個子頻道。設為"2"則可以在子頻道下開設子頻道,依此類推。
就如同許多權限沒有合理的數值限制,i_channel_max_depth可以設為"-1"這樣特殊的值作為表示沒有頻道最大深度的限制。
(權力及所需權力權限) Power and needed Power Permissions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
這些權限是整數權限的特例。
它們總是成對的,一則是權力而另一則所需權力權限
只有當你的權力大於等於所需的權力權限值時,你才可以成功的進行操作
Example:
i_client_kick_power
i_client_needed_kick_power
當你想要踢掉一個使用者時,權限系統將會比較你的 "kick power" 和目標使用者的 "needed kick power"。
當你有相當或更大的權力值時,你將可以踢掉這個使用者。
如果你的權力值小於所需的踢除權力值,你將無法進行此操作。
這基本上引入了"啄食順序(強弱順序-pecking order)",例如你可以給較低階的管理人員踢除訪客的權限,但高階的管理人員則可以踢除任何在伺服器上的使用者。
(i_needed_modify_power_* 或 賦予權限) i_needed_modify_power_* or Grant-Permissions
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
每一個權限都有一個相關的 i_needed_modify_power_ * 權限,例如 "PERMISSION_b_client_ban_create" 有一個關聯的權限稱為 "PERMISSION_i_needed_modify_power_client_ban_create"。
在客戶端的介面中,這些關聯的"needed_modify_power"權限通常顯示為附加在原有權限的"Grant(賦予)"值,而不是分開的權限,這就是為什麼我們也稱它為"Grant-Permissions(賦予權限)"。
These Grant-Permissions control which permissions a client is allowed to grant or revoke, so they are the key to modifying the permission system and are thus usually reserved to administrators.
Editing the permission system will be explained further down in a separate chapter called "Who can edit the permission system?"
(使用者如何取得權限? 它們如何分配?) How do clients get permissions? How are they assigned?
++++++++++++++++++++++++++++++++++++++++++++++++++++++
對於使用者取得權限的方式由五層的系統決定。
每一層可以覆蓋掉上一層的權限。
如果權限沒有被五層的任何一層所賦予,它將會假定為"0"或"false"值。
以下是五層列表:
第一層: 伺服器群組 (Server Groups)
第二層: 使用者個別的權限 (Client Specific Permissions)
第三層: 頻道個別的權限 (Channel Specific Permissions)
第四層: 頻道群組 (Channel Groups)
第五層: 頻道和使用者個別的權限 (Channel and Client Specific Permissions)
Example:
你在 (第一層)伺服器群組 "Guset" 中,這讓 b_channel_modify_name 權限被設為"fasle"。
但你也在 (第四層)頻道群組"Channel Admin" 並作為一個頻道管理員使 b_channel_modify_name 權限被設為"true"。
因為頻道群組比伺服器群組的層次還要高,所以你*可以*編輯頻道的名稱 (但不包含在其他不具有頻道管理員身分的頻道)。
現在我們將來仔細地討論每一層及每一層的特殊性質。
第一層: 伺服器群組
---------------------
(未完)
本篇文章已被 伝説のET 於 2010 年 01 月 11 日 - 下午 08:49 編輯過