数据库用户角色和权限
Plesk 为 MySQL/MariaDB 和 Microsoft SQL Server 数据库用户提供用户角色。这些角色用作 面板 ,能够帮助分配权限给数据库用户。支持以下数据库用户角色: 读取和写入 (默认使用) 只读取 和 只写入 。每个角色都有预设的权限,将分配给带有该角色的数据库用帐户。您可以编辑各个角色的权限。
此外,MySQL/MariaDB 还支持 自定义 角色,即用户定义的权限角色。SQL Server 用户无法修改此类角色的权限。
您可以拒绝某项权限并禁止 Plesk 用户授权此权限。
欲了解如何在 网站与域名 > 数据库 > 用户管理 中为数据库用户选择角色,请参阅 管理数据库用户帐户 。注意除了数据库表格上的权限,管理员订阅上的数据库用户还可以拥有全局权限。
MySQL/MariaDB 数据库用户角色
在带有 MySQL/MariaDB 的 Plesk 中,用户可以为数据库用户选择角色,以及添加或移除单个权限。
每个角色默认的 MySQL/MariaDB 权限列举如下。
权限 |
读取和写入 |
只读取 |
只写入 |
|---|---|---|---|
选择 |
➕ |
➕ |
➖ |
插入 |
➕ |
➖ |
➕ |
更新 |
➕ |
➖ |
➕ |
删除 |
➕ |
➖ |
➕ |
创建 |
➕ |
➖ |
➕ |
拖拽 |
➕ |
➖ |
➕ |
修改 |
➕ |
➖ |
➕ |
索引 |
➕ |
➖ |
➕ |
创建临时表格 |
➕ |
➖ |
➕ |
锁定表格 |
➕ |
➖ |
➕ |
创建视图 |
➕ |
➖ |
➕ |
显示视图 |
➕ |
➕ |
➖ |
若要修改默认的权限组,可编辑 panel.ini 文件列出您要修改的每个角色的权限名称。
请记住 Plesk 客户仍可以选择比您在 panel.ini 中指定的更多的权限,除非您禁止了某些权限(请进一步查看该页面上的信息)。
例如:
[databaseManagement]
features.roles.mysql.readWrite = Select,Update,Insert
features.roles.mysql.readOnly = Select
features.roles.mysql.writeOnly = Update
备注
更改某个角色的权限(例如, 读取与写入 角色)不会影响有该权限的现有 MySQL/MariaDB 数据库用户的权限。此类数据库用户的角色会被自动更改为 自定义 。
如何拒绝所有用户使用某些权限
您可能需要拒绝所有用户使用某些权限,例如,删除权限。若要拒绝某些权限,请在 panel.ini 文件中指定一系列 MySQL/MariaDB 权限,并忽略您要拒绝的权限。
例如:
[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.readOnly = db_datareader,db_backupoperator
features.roles.mssql.writeOnly = db_datawriter
备注
当您修改某个角色的权限时,现有数据库用户的权限也会被更改。该角色的所有现有和新创建的用户都将拥有您在 panel.ini 中指定的权限。
如何恢复 Microsoft SQL Server 用户的默认全新
每个数据库用户都有其默认的权限(SQL Server 数据库级别范围的角色)。若要重设现有数据库用户的权限为默认值(根据其角色),请运行以下命令:
%plesk_dir%bin\repair.exe --update-mssql-users-permissions [-database-server <name>] [-database-name <name>]
备注
如果您在 panel.ini 中修改权限(例如 读取与写入 权限),命令 --update-mssql-users-permissions 将会使用您指定的权限,而不是默认的权限(例如默认的 读取与写入 权限为 db_datareader、db_datawriter、db_backupoperator、db_ddladmin )。