資料庫使用者角色和許可權

Plesk 為 MySQL 和 Microsoft SQL Server 資料庫使用者提供使用者角色。這些角色用作面板 ,能夠幫助分配許可權給資料庫使用者。支援以下資料庫使用者角色:讀取和寫入(默認使用)唯讀取只寫入。每個角色都有預設的許可權,將分配給帶有該角色的資料庫用帳戶。您可以編輯各個角色的許可權。

此外,MySQL 還支援 自訂 角色,即用戶定義的許可權角色。SQL Server 用戶無法修改此類角色的許可權。

您可以拒絕某項許可權並禁止 Plesk 用戶授權此許可權。

欲瞭解如何在 網站與域名 > 資料庫 > 使用者管理 中為資料庫使用者選擇角色,請參閱 管理資料庫使用者帳戶。注意除了資料庫表格上的許可權,管理員訂閱上的資料庫使用者還可以擁有全域許可權。

  

MySQL 資料庫使用者角色

在帶有 MySQL 的 Plesk 中,使用者可以為資料庫使用者選擇角色,以及添加或移除單個許可權。

每個角色默認的 MySQL 許可權列舉如下:

許可權 讀取和寫入 唯讀取 只寫入

選擇

+

+

-

插入

+

-

+

更新

+

-

+

刪除

+

-

+

創建

+

-

+

拖拽

+

-

+

修改

+

-

+

索引

+

-

+

創建臨時表格

+

-

+

鎖定表格

+

-

+

創建視圖

+

-

+

顯示視圖

+

+

-

若要修改默認的許可權組,可編輯 panel.ini 檔列出您要修改的每個角色的許可權名稱。

請記住 Plesk 客戶仍可以選擇比您在 panel.ini 中指定的更多的許可權,除非您禁止了某些許可權(請進一步查看該頁面上的資訊)。

例如:

[databaseManagement] 
features.roles.mysql.readWrite = Select,Update,Insert
features.roles.mysql.readOnly = Select
features.roles.mysql.writeOnly = Update

注意:更改某個角色的許可權(例如,讀取與寫入 角色)不會影響有該許可權的現有 MySQL 資料庫使用者的許可權。此類資料庫使用者的角色會被自動更改為 自訂

如何拒絕所有用戶使用某些許可權

您可能需要拒絕所有使用者使用某些許可權,例如,刪除許可權。若要拒絕某些許可權,請在 panel.ini 檔中指定一系列 MySQL 許可權,並忽略您要拒絕的許可權。

例如:

[databaseManagement] 
features.privileges.mysql.dataAccess = Select, Insert, Update, Delete
features.privileges.mysql.structureAccess = Create, Drop, Alter, Index, Create Temporary Tables, Lock Tables, Create View, Show View

指定的許可權會在 Plesk UI 中顯示(網站與域名 > 資料庫 > 用戶管理)。用戶將只能允許或取消指定的許可權。如果某項許可權未在該列表中,Plesk 會視作拒絕資料庫使用者使用該許可權。

重要:只有在 Plesk 使用者在資料庫使用者設定中保存了更改(網站與域名 > 資料庫 > 用戶管理> 點按用戶名 > 點按 確定)才會拒絕使用某項許可權。

  

Microsoft SQL Server 資料庫使用者角色

在配備有 Microsoft SQL Server 的 Plesk 中,用戶可以選擇角色(讀取與寫入唯讀取只寫入),但是無法添加或移除單個許可權(SQL Server 資料庫級別範圍的角色)。許可權不會在 Plesk UI 中顯示。

每個角色的 Microsoft SQL Server 默認全新列舉如下:

許可權 讀取和寫入 唯讀取 只寫入

db_backupoperator

+

+

+

db_datareader

+

+

-

db_datawriter

+

-

+

db_ddladmin

+

-

+

若要修改任一角色的默認許可權組,可編輯 panel.ini 檔列出許可權名稱。

例如:

[databaseManagement] 
features.roles.mssql.readWrite = db_datareader,db_backupoperator,db_ddladmin
features.roles.mssql.<code>readOnly </code>= db_datareader,db_backupoperator
features.roles.mssql.write<code>Only</code> = db_datawriter

注意:當您修改某個角色的許可權時,現有資料庫使用者的許可權也會被更改。該角色的所有現有和新創建的用戶都將擁有您在 panel.ini 中指定的許可權。

  

如何恢復 Microsoft SQL Server 用戶的默認全新

每個資料庫使用者都有其預設的許可權(SQL Server 資料庫級別範圍的角色)。若要重設現有資料庫使用者的許可權為預設值(根據其角色),請運行以下命令:

C:\Program Files\%plesk_dir%\bin\repair.exe --update-mssql-users-permissions [-database-server <name>], [-database <name>]

注意:如果您在 panel.ini 中修改許可權(例如 讀取與寫入 許可權),命令 --update-mssql-users-permissions 將會使用您指定的許可權,而不是默認的許可權(例如默認的 讀取與寫入 許可權為 db_datareader、db_datawriter、db_backupoperator、db_ddladmin)。