Manual:User rights management
This page describes user rights assignment and the use of $wgGroupPermissions, $wgAddGroups/$wgRemoveGroups, $wgGroupsAddToSelf/$wgGroupsRemoveFromSelf and Special:Userrights.
See Manual:User rights for user rights and user groups in general.
Default
Template:MW 1.5 The default setting is:
- <source lang="php">$wgGroupPermissions['bureaucrat']['userrights'] = true;</source>
This means that a user in the 'bureaucrat' group can add/remove any group, using Special:UserRights. Default Settings can be overloaded in the LocalSettings.php file from the root website.
Managing user rights of certain groups
This can be set using $wgAddGroups and $wgRemoveGroups. Introduced in 1.11, and behaviour changed in 1.12. For earlier versions you will need to use an extension.
1.11
Template:MW 1.11 Set the following in your LocalSettings.php file:
Here are some examples, assuming you haven't changed anything yet (so bureaucrat still has his default 'userrights' right).
- Example: Setting this lets the specified user level remove groups. It does not, however, let them add any.
<source lang="php">$wgRemoveGroups['bureaucrat'] = true;</source>
- Example: Setting this lets the specified user level add the specified groups. It does not, however, let them remove any.
<source lang="php">$wgAddGroups['bureaucrat'] = array( 'sysop', 'bot' );</source>
- Example: Setting this lets a sysop add and remove the specified group.
<source lang="php"> $wgAddGroups['sysop'] = array( 'bot' ); $wgRemoveGroups['sysop'] = array( 'bot' ); $wgGroupPermissions['sysop']['userrights'] = true; </source>
1.12
Template:MW 1.12 Here are some examples, assuming you haven't changed anything yet (so bureaucrat still has his default 'userrights' right).
- Example: If a group (bureaucrat in this case) can remove any right. Bureaucrat can't add any groups.
<source lang="php"> $wgRemoveGroups['bureaucrat'] = true; $wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface. </source>
- Example: If a group (bureaucrat in this case) can add only some groups (sysop and bot groups in this case). Bureaucrat can't remove any group.
<source lang="php"> $wgAddGroups['bureaucrat'] = array( 'sysop', 'bot' ); $wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface. </source>
- Example: You want a sysop to be able to add/remove the bot group, and a bureaucrat be able to add/remove all groups.
Set the following in your LocalSettings.php file: <source lang="php"> $wgAddGroups['sysop'] = array( 'bot' ); $wgRemoveGroups['sysop'] = array( 'bot' ); </source>
- This is for sysops. A bureaucrat has the 'userrights' right by default, so you don't need to set this unless you changed it in your LocalSettings.php.
Managing user rights of users on foreign wikis
Template:MW 1.12 This can be set using the right "userrights-interwiki", for example: <source lang="php">$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;</source>
All wikis you want to manage should be added to $wgLocalDatabases. You can add this setting to LocalSettings.php (e.g. $wgLocalDatabases = array('cool' => 'coolwiki', 'foo' => 'foowikidb');
)
In pre-1.12 versions you have to use Extension:Makesysop.
Automatically promote users
Template:MW 1.12 This can be done using $wgAutopromote. By default, there is a group "autoconfirmed". Until 1.13 there was another default group called "emailconfirmed":
<source lang="php"> $wgAutopromote = array(
'autoconfirmed' => array( '&', array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ), array( APCOND_AGE, &$wgAutoConfirmAge ), ), 'emailconfirmed' => APCOND_EMAILCONFIRMED,
); </source>
Allow users to manage groups specifically on themselves
- $wgGroupsAddToSelf can be set to allow users to add groups to themselves only.
- $wgGroupsRemoveFromSelf can be set to allow users to remove groups from themselves only.
This replaces Extension:Resign.
Extensions
There are various extensions for user rights management. See Category:User rights extensions for a full list of them. Below are alternative ways described using core instead of extensions.
GiveRollback
Alternative ways for 1.11 and 1.12. Note that the actions are now logged in Special:Log/rights, not in Special:Log/gvrollback. Template:MW 1.11
- Alternative way for the GiveRollback extension, for version 1.11 only.
Do not forget to replace 'other groups' by the groups a bureaucrat should be able to add/remove, e.g. 'sysop'! <source lang="php"> $wgAddGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgRemoveGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgGroupPermissions['bureaucrat']['userrights'] = true; # They need access to Special:Userrights $wgGroupPermissions['rollback']['rollback'] = true; # Add the actual group </source>
- Alternative way for the GiveRollback extension, for version 1.12 only.
Do not forget to replace 'other groups' by the groups a bureaucrat should be able to add/remove, e.g. 'sysop'! <source lang="php"> $wgAddGroups['bureaucrat'] = array( 'rollback', 'other groups' ); $wgRemoveGroups['bureaucrat'] = array( 'rollback', 'other groups' ); $wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface $wgGroupPermissions['rollback']['rollback'] = true; # Add the actual group </source>
MakeBot
Alternative ways for 1.11 and 1.12. Note that the actions are now logged in Special:Log/rights, not in Special:Log/makebot. Template:MW 1.11
- Alternative way for the MakeBot extension, for version 1.11 only.
Do not forget to replace 'other groups' by the groups a bureaucrat should be able to add/remove, e.g. 'sysop'! <source lang="php"> $wgAddGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgRemoveGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgGroupPermissions['bureaucrat']['userrights'] = true; # They need access to Special:Userrights </source>
- Alternative way for the MakeBot extension, for version 1.12 only.
Do not forget to replace 'other groups' by the groups a bureaucrat should be able to add/remove, e.g. 'sysop'! <source lang="php"> $wgAddGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgRemoveGroups['bureaucrat'] = array( 'bot', 'other groups' ); $wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface </source>
Wikimedia
The Wikimedia sites use a different user rights assignment scheme.
- Bureaucrats can't access the whole Special:Userrights anymore, they can add the groups 'bot', 'sysop' and 'bureaucrat', and they can only remove 'bot'. Bureaucrats can access Special:Makesysop and Special:Makebot. Before 28 December 2007 (see bug 11645), they could only access those special pages, and not the part of Special:Userrights.
- Stewards can access the whole Special:Userrights on Meta-Wiki and can remove and add all groups, including extra, optional groups of extensions such as 'checkuser', 'import' etc.