Manual:User rights (older versions)

The default Special:Userrights interface

This page describes user rights assignment and the use of $wgGroupPermissions , $wgAddGroups /$wgRemoveGroups , $wgGroupsAddToSelf /$wgGroupsRemoveFromSelf and Special:Userrights.

This page is for older versions of MediaWiki (before 1.12), refer to Manual:User rights for user rights and user groups in more recent versions.

Default

edit
MediaWiki version:
1.5

The default setting is:

$wgGroupPermissions['bureaucrat']['userrights'] = true;

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

edit

This can be set using $wgAddGroups and $wgRemoveGroups . Introduced in 1.11, and behavior changed in 1.12. For earlier versions you will need to use an extension.

1.11

edit
MediaWiki version:
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 their default 'userrights' right).

  • Example: Setting this lets the specified user level remove groups. It does not, however, let them add any.
$wgRemoveGroups['bureaucrat'] = true;
  • Example: Setting this lets the specified user level add the specified groups. It does not, however, let them remove any.
$wgAddGroups['bureaucrat'] = array( 'sysop', 'bot' );
  • Example: Setting this lets a sysop add and remove the specified group.
$wgAddGroups['sysop'] = array( 'bot' );
$wgRemoveGroups['sysop'] = array( 'bot' );
$wgGroupPermissions['sysop']['userrights'] = true;

1.12

edit
MediaWiki version:
1.12

Here are some examples, assuming you haven't changed anything yet (so bureaucrat still has their default 'userrights' right).

  • Example: If a group (bureaucrat in this case) can remove any right. Bureaucrat can't add any groups.
$wgRemoveGroups['bureaucrat'] = true;
$wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface.
  • 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.
$wgAddGroups['bureaucrat'] = array( 'sysop', 'bot' );
$wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface.
  • 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:

$wgAddGroups['sysop'] = array( 'bot' );
$wgRemoveGroups['sysop'] = array( 'bot' );
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

edit
MediaWiki version:
1.12

This can be set using the right "userrights-interwiki", for example:

$wgGroupPermissions['bureaucrat']['userrights-interwiki'] = true;

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

edit
MediaWiki version:
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":

$wgAutopromote = array(
    'autoconfirmed' => array( '&',
        array( APCOND_EDITCOUNT, &$wgAutoConfirmCount ),
        array( APCOND_AGE, &$wgAutoConfirmAge ),
    ),
    'emailconfirmed' => APCOND_EMAILCONFIRMED,
);

Allow users to manage groups specifically on themselves

edit
MediaWiki version:
1.12

This replaces Extension:Resign .

Extensions

edit

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.

Alternative ways for 1.11 and 1.12. Note that the actions are now logged in Special:Log/rights, not in Special:Log/gvrollback.

MediaWiki version:
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'!

$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
MediaWiki version:
1.12
  • 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'!

$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

Alternative ways for 1.11 and 1.12. Note that the actions are now logged in Special:Log/rights, not in Special:Log/makebot.

MediaWiki version:
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'!

$wgAddGroups['bureaucrat'] = array( 'bot', 'other groups' );
$wgRemoveGroups['bureaucrat'] = array( 'bot', 'other groups' );
$wgGroupPermissions['bureaucrat']['userrights'] = true; # They need access to Special:Userrights
MediaWiki version:
1.12
  • 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'!

$wgAddGroups['bureaucrat'] = array( 'bot', 'other groups' );
$wgRemoveGroups['bureaucrat'] = array( 'bot', 'other groups' );
$wgGroupPermissions['bureaucrat']['userrights'] = false; # Disable the whole Special:Userrights interface

See also

edit