用户权限是否可以将权限(如编辑页面或阻止用户的功能)分配给不同的用户组.MediaWiki附带了一组默认的用户权限和用户组,但这些权限和用户组可以自定义。本页解释了默认权限和组以及如何自定义它们。
有关如何在组中添加和删除单个wiki用户的信息,请参阅帮助:用户权限和组 和手册:在MediaWiki中设置用户组 .
更改组权限
默认的MediaWiki安装会将某些权限分配给默认组(请参阅下文)。您可以通过编辑$wgGroupPermissions($wgGroup权限) 中的数组本地设置.php 使用语法。
$wgGroupPermissions($wgGroup权限)[“组”][“正确”] = 真的 /*或false*/;
在默认安装中$wgGroupPermissions($wgGroup权限)
将设置为包括/DefaultSettings.php
,但确实如此不存在于本地设置.php
。然后需要将其添加到该文件中。
如果一个成员有多个组,他们将从其所在的每个组中获得所有权限。所有用户(包括匿名用户)都位于'*'
组;所有注册用户都在“用户”
组。除了默认组之外,您还可以使用相同的数组任意创建新组。
示例
此示例将禁用查看中未列出的所有页面$wg白名单阅读 ,然后仅为注册用户重新启用:
$wg组权限['*'][“读取”] = 假;
#下面这行实际上并不是必需的,因为它是默认值。将“*”设置为false不会禁用权限分别设置为true的组的权限!
$wgGroupPermissions($wgGroup权限)['用户'][“读取”] = 真的;
此示例将禁用编辑所有页面,然后使用确认的电子邮件地址仅限:
#为每个人禁用。
$wgGroupPermissions($wgGroup权限)['*']['编辑'] = 假;
#也对用户禁用:默认情况下,允许“用户”编辑,即使“*”不是。
$wgGroupPermissions($wgGroup权限)[“用户”]['编辑'] = 假;
#将其设置为具有确认电子邮件地址的用户在组中。
$wg自动升级['电子邮件确认'] = APCOND_email已确认;
#从用户列表中隐藏组。
$wg隐式组[] = '电子邮件确认';
#最后,将所需组的值设置为true。
$wgGroupPermissions($wgGroup权限)['电子邮件确认']['编辑'] = 真的;
创建新组并为其分配权限
您可以通过在中定义相应组名称的权限来创建新的用户组$wgGroupPermissions($wgGroup权限)['组名称']
哪里组名称是组的实际名称。
除了分配权限之外,您还应该创建以下三个包含合适内容的wiki页面:
- MediaWiki:群组-<群组名称>(内容:
组的名称
)
- MediaWiki:组-成员(内容:
组成员的名称
)
- MediaWiki:群组页面-<群组名称>(内容:
组页面的名称
)
默认情况下,官僚可以向任何组添加用户或从中删除用户。但是,如果您正在使用手动:$wgAddGroups 和手动:$wgRemoveGroups ,您可能需要进行自定义。
示例
此示例将创建一个任意的“项目成员”组,该组可以阻止用户并删除页面,默认情况下,在最近的更改日志中隐藏其编辑:
$wgGroupPermissions($wgGroup权限)['项目成员'][“机器人”] = 真的;
$wgGroupPermissions($wgGroup权限)['项目成员'][“块”] = 真的;
$wgGroupPermissions($wgGroup权限)['项目成员']['删除'] = 真的;
组名不能包含空格,请使用'随机组'
或'随机组'
而不是'随机组'
此外,建议只使用小写字母创建组。
在本例中,您可能还想创建以下页面:
- MediaWiki:小组项目成员(内容:
项目成员
)
- MediaWiki:团体项目成员(内容:
项目成员
)
- MediaWiki:Grouppage项目成员(内容:
项目:项目成员
)
这将确保组在整个界面中被称为“项目成员”,成员被称为“项目成员”,概述将组名称链接到项目:项目成员.
此示例默认情况下禁用写访问(页面编辑和创建),创建一个名为“writer”的组,并授予其写访问权限。用户可以通过手动添加到此组特别:用户权限:
$wgGroupPermissions($wgGroup权限)['*']['编辑'] = 假;
$wgGroupPermissions($wgGroup权限)['*']['创建页面'] = 假;
$wgGroupPermissions($wgGroup权限)[“用户”]['编辑'] = 假;
$wgGroupPermissions($wgGroup权限)[“用户”]['创建页面'] = 假;
$wgGroupPermissions($wgGroup权限)[“作者”]['编辑'] = 真的;
$wgGroupPermissions($wgGroup权限)[“作者”]['创建页面'] = 真的;
在本例中,您可能还想创建以下页面:
- MediaWiki:群发(内容:
作家
)
- MediaWiki:组写入成员(内容:
作家
)
- MediaWiki:分组页面编写器(内容:
项目:写入
)
删除预定义组
MediaWiki现成提供了许多预定义的组。通过取消设置相应的数组键,可以删除其中的大多数组$wgGroupPermissions($wgGroup权限)[“<组名>”].有关详细信息,请参阅下文。
例子
这个例子将彻底消除官僚集团。对于任何想要从列表中删除的组,必须确保所有六个变量都未设置特殊:ListGroupRights; 但是,只需取消设置$wgGroupPermissions就足以将其从特别:用户权限.此代码应放在任何要求一次(_O)
添加扩展名的行,例如分机:AntiSpoof 包含默认情况下授予官僚组权限的代码。
未设置( $wgGroupPermissions($wgGroup权限)[“官僚”] );
未设置( $wgRevoke权限[“官僚”] );
未设置( $wg添加组[“官僚”] );
未设置( $wg删除组[“官僚”] );
未设置( $wgGroups添加到自己[“官僚”] );
未设置( $wgGroups从自身删除[“官僚”] );
在一些扩展(Flow、Semantic MediaWiki等)中,权限是在扩展注册或注册功能中添加的。在这种情况下,可能需要在本地设置.php
要删除某些预定义的用户组:
$wgExtensionFunctions($wg扩展函数)[] = 功能() 使用 ( &$wgGroupPermissions($wgGroup权限) ) {
未设置( $wgGroupPermissions($wgGroup权限)[“监督”] );
未设置( $wgGroupPermissions($wgGroup权限)['流量机器人'] );
};
关于名为“用户”的组的注释
使用上述机制,您可以删除组sysop、官僚和机器人,如果使用这些组,则可以通过通常的用户权限系统.然而,目前无法删除用户
组。此组是不通过通常的权限系统分配。相反,每个登录用户都会自动成为该组的成员。这是在MediaWiki中硬编码的,目前无法轻易更改。
权限列表
最新版本的MediaWiki中提供了以下用户权限。如果您使用的是旧版本,请查看特殊:版本并查看您的版本是否包含在“版本”列中。
赖特 |
描述 |
默认情况下具有此权限的用户组 |
版本 |
阅读
|
阅读 |
读取页面-当设置为false时,用覆盖特定页面$wg白名单阅读
警告: | 设置用户权限 阅读 (允许查看页面)假 只会保护wiki(文章、谈话…)页面,但是已上传文件夹(图像、文件、文档……位于$wg上传路径 默认情况下,通过直接访问始终保持可读性. 使用来自的信息手册:图像授权 和img验证.php 页面时,您需要将图像查看和文件下载权限限制为仅登录用户。 |
|
*,用户 |
1.5+
|
编辑
|
应用更改标签 |
应用标签随着一个人的改变-需要编辑 正确的 |
用户 |
1.25+ |
自动创建帐户 |
使用外部用户帐户自动登录-的更有限版本创建每个计数
|
— |
1.27+ |
创建每个计数 |
创建新用户帐户-注册/注册 |
*,系统 |
1.5+
|
创建页面 |
创建页面(不是讨论页面)-需要编辑 正确的 |
*,用户 |
1.6+
|
createtalk公司 |
创建讨论页-需要编辑 正确的 |
*,用户 |
1.6+
|
删除重定向 |
删除单个修订重定向(请注意,如果组已经具有删除 右侧) |
— |
1.36+
|
编辑 |
编辑页面 |
*,用户 |
1.5+
|
编辑半保护 |
编辑受“仅允许自动确认用户”保护的页面(无级联保护)需要编辑正确的 |
自动确认、bot、sysop |
1.22+ |
编辑保护的 |
编辑受“仅允许管理员”保护的页面(无级联保护)需要编辑正确的 |
sysop系统 |
1.13+
|
小额信贷 |
将编辑标记为次要-需要编辑 正确的 |
用户 |
1.6+
|
移动 |
移动页面-需要编辑 正确的 |
用户,系统操作 |
1.5+
|
移动类别页面 |
移动类别页面-需要移动 正确的 |
用户,sysop |
1.25+
|
移动root用户页面 |
移动根用户页面-需要移动 正确的 |
用户,sysop |
1.14+
|
移动子页面 |
移动页面及其子页面-需要移动 正确的 |
用户,sysop |
1.13+
|
可移动文件 |
移动文件-需要移动 权利和$wgAllowImage移动 是真的 |
用户,sysop |
1.14+
|
重新装载 |
覆盖现有文件-需要上传 正确的 |
用户,sysop |
1.6+
|
重新加载 |
覆盖自己上传的现有文件-需要上传 正确(请注意,如果组已经具有重复使用右侧) |
— |
1.11+
|
重新部署共享 |
在本地使用本地文件覆盖共享媒体存储库中的文件(如果已设置)(需要上传 右侧) |
用户,sysop |
1.6+
|
发送电子邮件 |
向其他用户发送电子邮件 |
用户 |
1.16+
|
上传 |
上载文件-需要编辑 权利和$wgEnableUploads($wg启用上载) 是真的 |
用户,sysop |
1.5+
|
上传_ by_url |
从URL上载文件-需要上传 右(1.20之前,它是给sysops的) |
— |
1.8+
|
管理
|
大删除 |
删除具有较大历史记录的页面(由$wgDeleteRevisionsLimit($wg删除修订限制) )-需要删除正确的 |
sysop系统 |
1.12+
|
块 |
阻止或取消阻止其他用户编辑-阻止选项包括阻止编辑和注册新帐户,以及自动锁定同一IP地址上的其他用户 |
sysop系统 |
1.5+
|
阻止电子邮件 |
阻止或取消阻止用户发送电子邮件-允许阻止使用特殊:电子邮件用户阻塞时的接口-需要块正确的 |
sysop系统 |
1.11+
|
浏览存档 |
搜索已删除的页面-至特殊:取消删除-需要删除的历史记录正确的 |
sysop系统 |
1.13+
|
更改标签 |
添加和删除任意标签单个修订和日志条目-当前未被扩展使用 |
用户 |
1.25+ |
删除 |
删除页面1.5–1.11:允许删除或取消删除页面。 1.12+:允许删除页面。对于取消删除,现在是“取消删除”右侧,请参见下文 |
sysop系统 |
1.5+
|
删除的历史记录 |
查看删除的历史记录条目,不包含其关联文本 |
sysop系统 |
1.6+
|
删除的文本 |
查看删除的文本和删除修订之间的更改 |
sysop系统 |
|
删除绅士 |
删除和取消删除特定的日志条目-允许删除/取消删除特定日志条目的信息(操作文本、摘要、执行操作的用户)-需要删除视力正确的 |
抑制 |
1.20+
|
删除视力 |
删除和取消删除页面的特定修订-允许删除/取消删除特定修订的信息(修订文本、编辑摘要、进行编辑的用户)在1.20中分为deleterevision和deletelogentry
|
抑制 |
1.6+
|
编辑内容模型 |
编辑页面的内容模型-需要编辑正确的 |
用户 |
1.23.7+
|
编辑界面 |
编辑用户界面-包含接口消息。要编辑站点范围的CSS/JSON/JS,现在有隔离权限,请参阅下文需要编辑正确的 |
系统操作,界面管理 |
1.5+
|
编辑选项 |
编辑您自己的首选项 |
* |
1.22+
|
编辑我的私人信息 |
编辑您自己的私人数据(例如电子邮件地址、真实姓名)并请求密码重置电子邮件-还隐藏“更改密码”,但不使用其他更改密码的方法-需要查看我的私人信息 正确的 |
* |
1.22+
|
编辑我的用户 |
编辑您自己的用户CSS文件-在1.31之前,它被分配给每个人(即“*”)(请注意,如果组已经拥有编辑用户css右)-需要编辑正确的 |
用户 |
1.22+
|
编辑我的用户 |
编辑您自己的用户JavaScript文件-在1.31之前,它被分配给每个人(即“*”)(请注意,如果组已经拥有编辑用户js右)-需要编辑正确的 |
用户 |
1.22+
|
编辑用户jsredirect |
编辑您自己的重定向用户JavaScript文件(注意,如果组已经具有编辑用户js右)-需要编辑正确的 |
— |
1.34+
|
编辑myuserjson |
编辑您自己的用户JSON文件(请注意,如果组已经具有编辑用户json右)-需要编辑正确的 |
用户 |
1.31+
|
编辑我的观察列表 |
编辑您自己的监视列表(请注意,即使没有此权限,某些操作仍会添加页面)-需要查看我的观察列表 正确的 |
* |
1.22+
|
编辑站点 |
编辑网站范围的CSS-需要编辑界面正确的 |
界面管理员 |
1.32+
|
编辑网站 |
编辑站点范围的JavaScript-需要编辑界面正确的 |
界面管理员 |
1.32+
|
编辑sitejson |
编辑站点范围的JSON-需要编辑界面正确的 |
系统操作,界面管理 |
1.32+
|
编辑用户css |
编辑其他用户的CSS文件-需要编辑正确的 |
界面管理员 |
1.16+
|
编辑用户js |
编辑其他用户的JavaScript文件-需要编辑正确的 |
界面管理员 |
1.16+
|
编辑用户json |
编辑其他用户的JSON文件-需要编辑正确的 |
系统操作,界面管理 |
1.31+
|
隐藏者 |
阻止或取消阻止用户名,对公众隐藏或取消隐藏它-默认情况下,只有具有1000个编辑或更少编辑的用户才能被禁止-需要块正确的 使用$wgHideUserContribLimit($wg隐藏用户限制) 禁用。
|
抑制 |
1.10+
|
标记编辑 |
将滚动备份编辑标记为机器人程序编辑-请参阅手动:回滚 -需要回降正确的 |
sysop系统 |
1.12+
|
合并历史记录 |
合并页面历史记录-需要编辑正确的 |
sysop系统 |
1.12+
|
寻呼机语言 |
更改页面语言-$wgPage语言使用数据库 必须是真的
|
— |
1.24+
|
巡逻 |
将其他人的编辑标记为已巡查-$wg使用RCPatrol 必须是真的
|
sysop系统 |
1.5+
|
巡逻标志 |
查看最近的更改巡检标记 |
— |
1.16+
|
保护 |
更改保护设置并编辑级联保护页面-需要编辑正确的 |
sysop系统 |
1.5+
|
回降 |
快速回滚上次编辑特定页面的用户的编辑-需要编辑正确的 |
sysop系统 |
1.5+
|
抑制日志 |
查看私有日志 |
抑制 |
1.6+
|
抑制修正 |
查看、隐藏和取消隐藏任何用户对页面的特定修订-之前1.13这项权利被命名为“隐藏修订”-需要删除视力正确的 |
抑制 |
1.6+
|
解锁 |
解除阻止-没有它,如果被其他管理员阻止,具有阻止功能的管理员将无法解除阻止 |
sysop系统 |
1.17+
|
取消删除 |
撤消删除页面-需要删除的历史记录正确的 |
sysop系统 |
1.12+
|
用户权限 |
编辑所有用户权限-允许向任何用户分配或删除所有(*)组。
(*)有$wg添加组 和$wgRemoveGroups($wg删除组) 您可以设置添加/删除某些组而不是全部组的可能性
|
官僚 |
1.5+
|
用户权限-interwiki |
编辑其他Wiki上用户的用户权限-需要用户权限正确的 |
— |
1.12+
|
查看我的私人信息 |
查看您自己的私人数据(例如电子邮件地址、真实姓名) |
* |
1.22+
|
查看我的观察列表 |
查看您自己的观察列表 |
* |
1.22+
|
视图被抑制 |
查看对任何用户隐藏的修订-即“禁止修订”的更窄替代项(注意,如果组已经具有抑制修正右侧) |
抑制 |
1.24+
|
管理
|
自动控制仪 |
自动将自己的编辑标记为已巡查-$wg使用RCPatrol 必须是真的
|
机器人程序、系统 |
1.9+
|
删除更改标签 |
删除标签来自数据库-当前未被扩展使用 |
sysop系统 |
1.28+
|
进口 |
从其他Wiki(“transwiki”)导入页面需要编辑正确的 |
sysop系统 |
1.5+
|
导入上传 |
从文件上传导入页面-此权限在1.5版及之前的版本中称为“importraw”-需要编辑正确的 |
sysop系统 |
1.5+
|
管理变更标签 |
创建和(取消)激活标签-当前未被扩展使用 |
sysop系统 |
1.25+ |
站点管理员 |
锁定和解锁数据库-这会阻止与网站的所有交互,但查看除外。(默认情况下不可用) |
— |
1.5+
|
未附带页面 |
查看未选中页面的列表-列出没有用户监视的页面 |
sysop系统 |
1.6+
|
技术
|
最高限额 |
在API查询中使用更高的限制 |
机器人程序、系统 |
1.12+
|
自动确认的 |
不受基于IP的费率限制的影响-用于“自动确认”组,请参阅下表了解更多信息(请注意,如果组已经具有频率限制右侧) |
自动确认、bot、sysop |
1.6+
|
机器人程序 |
被视为自动化流程-可以选择查看 |
机器人程序 |
1.5+
|
ipblock执行 |
旁路IP块、自动块和范围块 |
sysop系统 |
1.9+
|
nominor新话题
|
没有对讨论页面进行小编辑会触发新消息提示-需要小额信贷正确的 |
机器人程序 |
1.9+
|
频率限制 |
不受费率限制的影响-不受费率限制(在引入此权限之前,配置变量$wgRateLimitsExcluded组 用于此目的) |
系统、官僚 |
1.13+
|
覆盖导出深度 |
导出包含链接页面的页面,深度不超过5 使用此权限,可以在以下位置定义链接页面的深度特殊:出口。否则$wg导出最大链接深度 ,默认情况下为0。
|
— |
? |
抑制重定向 |
移动页面时不从源页面创建重定向-需要移动正确的 |
机器人程序、系统 |
1.12+
|
虽然这些权限都控制不同的事情,但有时要执行某些操作,您需要多个权限。例如,允许人们编辑但不阅读页面是没有意义的,因为为了编辑页面,您必须首先能够阅读它(假设没有页面被允许列出)。允许上传但不允许编辑是没有意义的,因为为了上传图像,您必须隐式创建图像描述页面等。
组列表
最新版本的MediaWiki中提供了以下组。如果您使用的是旧版本,则其中一些可能无法实现。
集团 |
描述 |
默认权限 |
版本 |
* |
所有用户(包括匿名用户)。 |
createacount,createpage,creetetalk,edit,editmoptions,editmyprivateinfo,editmywatchlist,read,viewmyprivateinfo.,viewmywatchlist.,writeapi |
1.5+
|
临时雇员 |
临时用户帐户(T330816) |
类似于*组 |
1.41+ |
用户 |
注册帐户。 |
applychangetags,changetag,createpage,createtalk,edit,editcontentmodel,editmyusercss,editmy用户js,editmysuserjson,minoredit,move,move-categorypages,move-rootuserpages,move-subpages,移动文件,清除,读取,重新加载,重新加载共享,发送电子邮件,上传,写入 |
|
自动确认的 |
注册帐户的历史至少为$wgAutoConfirmAge 编辑次数至少与$wgAutoConfirmCount($wg自动确认计数) . |
自动确认,编辑半保护 |
1.6+
|
机器人程序 |
账户机器人程序右(用于自动脚本)。 |
自动确认、自动跟踪、apihighlimits、bot、editsimprotected、nominornewtalk、suppressredirect、writeapi |
1.5+
|
sysop系统 |
默认情况下可以删除和恢复页面、阻止和取消阻止用户等的用户。 |
apihighlimits,autoconfirm,autopatrol,bigdelete,block,blockemail,browsearchive,createccount,deleted,deletedhistory,deletedtext,editinterface,editprotected,editsemiprotecteds,editsitejson,edituserjson,import,importupload,ipblock-exempt,managechange标签,markbotedits,mergehistory,移动子页面,移动文件,noratelimit,巡检,保护,重新加载,重新加载共享,回滚,禁止重定向,取消阻止,取消删除,取消匹配页面,上载 |
1.5+
|
界面管理员 |
可以编辑全站CSS/JS的用户。 |
editinterface,editsitecss,editstejs,editsite json,editusercss,edituserjs,编辑用户json |
1.32+ |
官僚 |
默认情况下,用户可以更改其他用户的权限,因此可以完全访问整个wiki。 |
noratelimit,用户权限 |
1.5+
|
抑制 |
|
deletelogentry,deleterevision,hideuser,suppressionlog,suppress修订,viewsuppressed |
|
从MW 1.12开始,您可以使用以下命令创建自己的组,用户将自动升级到其中(与自动确认和电子邮件确认一样)$wg自动升级 .您甚至可以通过为任何自定义组分配权限来创建它们。
默认权限
默认权限在中定义主配置模式.php .
添加新权限
以下仅为编码人员提供信息。
如果您要在核心中添加新的权限,例如控制新的特殊页,你是必修的将其添加到中的可用权限列表许可证管理器.php ,$核心权限
(例子).如果你是在扩展中这样做 ,您需要使用$wg可用权限 .
您可能还想通过编辑将其分配给某个用户组$wgGroupPermissions($wgGroup权限) 如上所述。
如果您希望外部应用程序可以通过以下方式访问此权限OAuth(OAuth) 或通过机器人程序密码,则需要通过编辑将其添加到授权$wgGrant权限 .
//正确创建项目成员权限
$wg可用权限[] = '项目成员权限';
//将projectmember-powers添加到projectmember组
$wgGroupPermissions($wgGroup权限)['项目成员']['项目成员权限'] = 真的;
//将项目成员权限添加到“基本”授权中,以便我们可以在API请求上使用项目成员权限
$wgGrant权限[“基本”]['项目成员权限'] = 真的;
您还需要添加右-[姓名]
和操作-[名称]
接口消息到/languages/i18n/en.json(带有qqq.json中的文档)。右-*信息可以在上看到特殊:ListGroupRights而action-*消息用在“You do not have permission to…”这样的句子中。
另请参见