Help:User rights management
This page describes user rights assignment and the use of $wgGroupPermissions, $wgAddGroups, $wgRemoveGroups and Special:Userrights.
See Help: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.
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 Here are some examples, assuming you haven't changed anything yet (so bureaucrat has still his default 'userrights' right).
- Example: If a group (bureaucrat in this case) can remove any group. Bureaucrat can't add any groups.
<source lang="php">$wgRemoveGroups['bureaucrat'] = true;</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 groups.
<source lang="php">$wgAddGroups['bureaucrat'] = array( 'sysop', 'bot' );</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' ); $wgGroupPermissions['sysop']['userrights'] = true; </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.
1.12
Template:MW 1.12 Here are some examples, assuming you haven't changed anything yet (so bureaucrat has still 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>
(More information needed)
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 acess 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.