跳转到内容

手动:用户权限

来自mediawiki.org

用户权限是否可以将权限(如编辑页面或阻止用户的功能)分配给不同的用户组.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…”这样的句子中。


另请参见