Jump to content

Manual: Direitos de Utilizador

From mediawiki.org
This page is a translated version of the page Manual:User rights and the translation is 58% complete.
Outdated translations are marked like this.

Os Direitos de Utilizador são permissões (tais como a capacidade para editar páginas ou para bloquear utilizadores) que podem ser atribuídos a diferentes grupos de utilizadores. MediaWiki vem com uma definição predefinida de direitos de utilizador e grupos de utilizadores, mas estes podem ser personalizados. Esta página explica os direitos e os grupos predefinidos e como os personalizar.

Para obter informação sobre como adicionar e remover utilizadores individuais da wiki dos grupos, consulte Ajuda: Direitos de Utilizador e de Grupos e Manual: Definir os grupos de utilizadores no MediaWiki .

Alterar permissões de grupo

Uma instalação predefinida do MediaWiki atribui determinados direitos aos grupos predefinidos (veja a tabela na #Lista de permissões). Pode alterar os direitos predefinidos, editando a matriz $wgGroupPermissions em LocalSettings.php com a seguinte sintaxe:

$wgGroupPermissions['group']['right'] = true /* ou falso */;
Numa instalação predefinida, $wgGroupPermissions será definido em includes/DefaultSettings.php, mas "não" está presente em LocalSettings.php. Depois, terá de adicioná-lo nesse ficheiro.

Se um membro tiver vários grupos, eles obtêm todas as permissões de cada um dos grupos em que estão. Todos os utilizadores, incluídos os anónimos, estão no grupo *; e todos os utilizadores registados estão no grupo user. Além dos grupos predefinidos, pode criar arbitrariamente novos grupos com a mesma matriz.

Exemplos

This example will disable viewing of all pages not listed in $wgWhitelistRead , then re-enable for registered users only:

$wgGroupPermissions['*']['read'] = false;
# The following line is not actually necessary, since it's in the defaults. Setting '*' to false doesn't disable rights for groups that have the right separately set to true!
$wgGroupPermissions['user']['read'] = true;

This example will disable editing of all pages, then re-enable for users with confirmed email addresses only:

# Desativar para toda a gente.
$wgGroupPermissions['*']['edit'] = false;
# Disable for users, too: by default 'user' is allowed to edit, even if '*' is not.
$wgGroupPermissions['user']['edit'] = false;

# Make it so users with confirmed email addresses are in the group.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Hide group from user list.
$wgImplicitGroups[] = 'emailconfirmed';
# Finally, set it to true for the desired group.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Criar um novo grupo e atribuir permissões ao mesmo

Custom groups can be created. A group is created implicitly, by just assigning it rights in $wgGroupPermissions[ 'group-name' ] where group-name is the actual name of the group. From MW 1.12, you can create your own groups into which users are automatically promoted (as with autoconfirmed) using $wgAutopromote .

Additionally to assigning permissions, you should create these three wiki pages with fitting content:

  • MediaWiki:Group-<group-name> (content: Name of the group)
  • MediaWiki:Group-<group-name>-member (content: Name of a member of the group)
  • MediaWiki:Grouppage-<group-name> (content: Name of the group page)

By default, bureaucrats can add users to, or remove them from, any group. However, if you are using $wgAddGroups and $wgRemoveGroups , you may need to customize those instead.

Exemplos

This example will create an arbitrary projectmember group that can block users and delete pages, and whose edits are hidden by default in the recent changes log:

$wgGroupPermissions['projectmember']['bot'] = true;
$wgGroupPermissions['projectmember']['block'] = true;
$wgGroupPermissions['projectmember']['delete'] = true;
The group name cannot contain spaces, so use 'random-group' or 'random_group' instead of 'random group'. Moreover it is recommended to only use lowercase letters to create a group.

In this example, you would probably also want to create these pages:

  • MediaWiki:Group-projectmember (conteúdo: Membros do projeto)
  • MediaWiki:Group-projectmember-member (conteúdo: Membro do projeto)
  • MediaWiki:Grouppage-projectmember (conteúdo: Projeto: Membros do Projeto)

This will ensure that the group will be referred to as "Project members" throughout the interface, and a member will be referred to as a "Project member", and overviews will link the group name to Project:Project members.

This example disables write access (page editing and creation) by default, creates a group named writer, and grants it write access. Users can be manually added to this group via Special:UserRights:

$wgGroupPermissions['*']['edit'] = false;
$wgGroupPermissions['*']['createpage'] = false;
$wgGroupPermissions['user']['edit'] = false;
$wgGroupPermissions['user']['createpage'] = false;
$wgGroupPermissions['writer']['edit'] = true;
$wgGroupPermissions['writer']['createpage'] = true;

In this example, you would probably also want to create these pages:

  • MediaWiki:Group-writer (conteúdo: Escritores)
  • MediaWiki:Group-writer-member (conteúdo: Escritor)
  • MediaWiki:Grouppage-writer (conteúdo: Projeto: Escrever)

Lista de permissões

Os seguintes direitos do utilizador estão disponíveis na versão mais recente do MediaWiki. Se estiver a utilizar uma versão mais antiga, consulte Special:Version na sua wiki e veja se a sua versão faz parte da coluna “Versões”.

Direito Descrição Grupos de utilizadores que têm este direito por predefinição Versões
Leitura
read Ler páginas – quando definido para falso, substitua as páginas específicas com $wgWhitelistRead
Setting the user right 'read' to false only restricts access to wiki pages (such as articles and talk pages). Uploaded files (including images, files, docs) under the $wgUploadPath subdirectories will always remain publicly accessible via direct URL access by default.
To restrict access to uploaded files, refer to the instructions in Manual: Autorização de Imagem and img_auth.php .
*, user 1.5+
Edição
applychangetags Aplicar etiquetas juntamente com as alterações – requer o direito edit user 1.25+
autocreateaccount Aceder ao sistema automaticamente com uma conta de usuario externa - uma versão mais limitada de "criar conta" 1.27+
createaccount Criar novas contas de utilizador – register / registration *, sysop 1.5+
createpage Criar páginas (que não sejam páginas de discussão) – requer o direito edit *, user 1.6+
createtalk Criar páginas de discussão – requer o direito edit *, user 1.6+
delete-redirect Eliminar redirecionamentos com uma única revisão (note que isto não é necessário se o grupo já possuir o direito delete) 1.36+
edit Editar páginas – requires the read right *, user 1.5+
editsemiprotected Editar páginas protegidas com "semi protected" – sem proteção em cascata – requires the edit right autoconfirmed, bot, sysop 1.22+
editprotected Editar páginas protegidas com "fully protected" – sem proteção em cascata – requires the edit right sysop 1.13+
minoredit Marcar edições como menores – requer o direito edit user 1.6+
move Mover páginas – requer o direito edit user, sysop 1.5+
move-categorypages Mover categorias – requer o direito move user, sysop 1.25+
move-rootuserpages Mover páginas raiz de utilizadores – requer o direito move user, sysop 1.14+
move-subpages Mover páginas com as suas subpáginas – requer o direito move user, sysop 1.13+
movefile Mover ficheiros – também requer o direito move user, sysop 1.14+
reupload Sobrescrever um ficheiro existente – requer o direito upload user, sysop 1.6+
reupload-own Sobrescrever um ficheiro existente carregado pelo mesmo utilizador – requer o direito upload (note que isto não é necessário se o grupo já tem o direito reupload) 1.11+
reupload-shared Sobrescrever localmente ficheiros no repositório partilhado de imagens – (if one is set up) with local files (requer o direito upload) user, sysop 1.6+
sendemail Enviar correio eletrónico a outros utilizadores user 1.16+
upload Carregar ficheiros – requires the edit right and $wgEnableUploads to be true user, sysop 1.5+
upload_by_url Carregar um ficheiro de um endereço URL – requer o direito upload (Antes de 1.20, foi dado aos "administradores de sistema") 1.8+
Gestão
autopatrol Modifies certain actions performed by the permission holder, automatically marking them as "patrolled" Depends on $wgUseRCPatrol , $wgUseNPPatrol , $wgUseFilePatrol bot, sysop 1.9+
bigdelete Eliminar páginas com histórico grande (como determinado por $wgDeleteRevisionsLimit ) – requer o direito "delete" sysop 1.12+
block Bloquear ou desbloquear a capacidade de edição de outros utilizadores – Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address sysop 1.5+
blockemail Bloquear ou desbloquear a capacidade de um utilizador enviar correio eletrónico – allows preventing use of the Special:Emailuser interface when blockingrequires the block right sysop 1.11+
browsearchive Pesquisar páginas eliminadas – através de Special:Undelete – requer o direito "deletedhistory" sysop 1.13+
changetags Adicionar ou remover etiquetas arbitrárias em revisões e entradas de registo individuais – atualmente não utilizado pelas extensões user 1.25+
delete Eliminar páginas
1.5-1.11permite a eliminação ou a recuperação de páginas.
1.12+permite a eliminação das páginas. Para restauros, existe agora o direito undelete, consulte em baixo
sysop 1.5+
deletedhistory Ver entradas de histórico eliminadas, sem o texto associado sysop 1.6+
deletedtext Ver texto eliminado e mudanças entre revisões eliminadas sysop 1.16+
deletelogentry Eliminar e restaurar entradas específicas de registos – allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries – requires the deleterevision right suppress 1.20+
deleterevision Eliminar e restaurar edições específicas de páginas – allows deleting/undeleting information (revision text, edit summary, user who made the edit) of specific revisions (Split into deleterevision and deletelogentry in 1.20) suppress 1.6+
editcontentmodel Editar o modelo de conteúdo de uma página – requer o direito "edit" user 1.23.7+
editinterface Editar a interface de utilizador – contém mensagens da interface. For editing sitewide CSS/JSON/JS, there are now segregate rights, see below. – requer o direito "edit" sysop, interface-admin 1.5+
editmyoptions Editar as suas próprias preferências * 1.22+
editmyprivateinfo Editar os seus dados privados (por exemplo, endereço de correio eletrónico, nome real) e pedir mensagens de correio para reinício da palavra-passe – also hides the "Change Password", but not other ways to change the password – requer o direito viewmyprivateinfo * 1.22+
editmyusercss Editar os seus próprios ficheiros CSS de utilizador – prior to 1.31 it was assigned to everyone (i.e. *) (note that this is not needed if the group already has the editusercss right) – requer o direito "edit" user 1.22+
editmyuserjs Editar os seus próprios ficheiros JavaScript de utilizador – prior to 1.31 it was assigned to everyone (i.e. *) (note that this is not needed if the group already has the edituserjs right) – requer o direito "edit" user 1.22+
editmyuserjsredirect Editar os seus próprios ficheiros JavaScript de utilizador que são redirecionamentos (note that this is not needed if the group already has the edituserjs right) – requer o direito "edit" 1.34+
editmyuserjson Editar os ficheiros JSON do próprio utilizador (note that this is not needed if the group already has the edituserjson right) – requer o direito "edit" user 1.31+
editmywatchlist Editar a sua lista de páginas vigiadas (note que algumas ações continuarão a adicionar páginas, mesmo sem ter este direito) – requer o direito "viewmywatchlist" user 1.22+
editsitecss Editar CSS global do site – requer o direito "editinterface" interface-admin 1.32+
editsitejs Editar JavaScript global do site – requer o direito "editinterface" interface-admin 1.32+
editsitejson Editar JSON global do site – requer o direito "editinterface" sysop, interface-admin 1.32+
editusercss Editar os ficheiros CSS de outros utilizadores – requer o direito "edit" interface-admin 1.16+
edituserjs Editar os ficheiros JS de outros utilizadores – requer o direito "edit" interface-admin 1.16+
edituserjson Editar os ficheiros JSON de outros utilizadores – requer o direito "edit" sysop, interface-admin 1.31+
hideuser Bloquear ou desbloquear um nome de utilizador, escondendo-o ou deixando de escondê-lo do público – Only users with 1000 edits or less can be suppressed by default – requer o direito "block"

Utilize $wgHideUserContribLimit para desativar.

suppress 1.10+
ignore-restricted-groups Condições de contorno na edição de certos grupos de utilizadores restritos – Only applies to groups the user would be otherwise able to change, based on userrights right and the contents of $wgAddGroups . 1.46+
markbotedits Marcar edições revertidas como edições de robô – consulte Manual:Rollback – requer o direito "rollback" sysop 1.12+
mergehistory Fundir o histórico de edições de páginas – requer o direito "edit" sysop 1.12+
pagelang Alterar idioma da página – $PageLanguageUseDB deve ser "verdadeiro" 1.24+
patrol Marcar algumas ações como "patrulhadas" depends on $wgUseRCPatrol , $wgUseNPPatrol , $wgUseFilePatrol sysop 1.5+
patrolmarks Ver marcações de patrulhamento das mudanças recentes (note that this is not needed if the group already has the patrol right) 1.16+
protect Mudar configurações de proteção e editar páginas protegidas em cascata – requer o direito "edit" sysop 1.5+
rollback Reverter rapidamente as edições do último utilizador que editou uma página em particular – requer o direito "edit" sysop 1.5+
suppressionlog Ver registos privados suppress 1.6+
suppressrevision Ver, ocultar e restaurar revisões de páginas específicas para qualquer utilizador – Prior to 1.13 this right was named hiderevision – requer o direito "deleterevision" suppress 1.6+
unblockself Desbloquear-se a si próprio – Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator sysop 1.17+
undelete Restaurar uma página – requer o direito "deletedhistory" sysop 1.12+
userrights Editar todos os privilégios de utilizador – allows the assignment or removal of all(*) groups to any user.

(*)With $wgAddGroups and $wgRemoveGroups you can set the possibility to add/remove certain groups instead of all

bureaucrat 1.5+
userrights-interwiki Editar privilégios de utilizadores noutras wikis – requires the userrights right 1.12+
viewmyprivateinfo Ver os seus próprios dados privados (ex.: endereço de correio eletrónico, nome real) * 1.22+
viewmywatchlist Ver a sua lista de páginas vigiadas user 1.22+
viewsuppressed Ver revisões ocultas para qualquer utilizador – i.e. a more narrow alternative to suppressrevision (note that this is not needed if the group already has the suppressrevision right) suppress 1.24+
Administração
deletechangetags Eliminar etiquetas da base de dados – atualmente não utilizado pelas extensões sysop 1.28+
import Importar páginas de outras wikis – “transwiki” – requer o direito "edit" sysop 1.5+
importupload Importar páginas de um ficheiro xml – This right was called importraw in and before version 1.5 – requer o direito "edit" sysop 1.5+
managechangetags Criar e (des)ativar etiquetas – atualmente não utilizado pelas extensões sysop 1.25+
renameuser Alterar nomes de utilizadores (formerly was part of the Renameuser extension) bureaucrat 1.40+
siteadmin Bloquear e desbloquear a base de dados – which blocks all interactions with the web site except viewing. (não disponível por predefinição) 1.5+
unwatchedpages Ver uma lista de páginas não vigiadas – lista as páginas que nenhum utilizador foi colocado na lista de observação sysop 1.6+
Técnico
apihighlimits Usar limites superiores nas consultas (queries) via API bot, sysop 1.12+
autoconfirmed Não ser afetado pelos limites de frequência de edição baseados em endereços IP – used for the autoconfirmed group, see the other table below for more information (note that this is not needed if the group already has the noratelimit right) autoconfirmed, bot, sysop 1.6+
bot Ser tratado como um processo automatizado – edits and logged actions are hidden from recent changes. can optionally be viewed bot 1.5+
ipblock-exempt Contornar bloqueios de IP, bloqueios automáticos e bloqueios de gamas de IP sysop 1.9+
nominornewtalk Não desencadear o aviso de mensagens novas ao fazer edições menores a páginas de discussão – requer o direito "minoredit" bot 1.9+
noratelimit Não ser afetado pelos limites de frequência de edição – not affected by rate limits (prior to the introduction of this right, the configuration variable $wgRateLimitsExcludedGroups was used for this purpose) sysop, bureaucrat 1.13+
override-export-depth Exportar páginas incluindo páginas hiperligadas até uma profundidade de 5
With this right, you can define the depth of linked pages at Special:Export. Otherwise, the value of $wgExportMaxLinkDepth , which is 0 by default, will be used.
1.15+
suppressredirect Não criar um redirecionamento do nome antigo quando uma página é movida – requer o direito "move" bot, sysop 1.12+
Embora todas estes privilégios controlem coisas separadas, às vezes para executar determinadas ações, precisa de vários privilégios. Por exemplo, permitir que os utilizadores editem mas não leiam páginas que não fazem sentido, porque para poder editar uma página deve poder lê-la primeiro (supondo que não tenha páginas na lista branca). Permitir envios, mas não editar, não faz sentido, pois, para poder enviar uma imagem, deve criar implicitamente uma página de descrição da imagem, etc.


Lista de grupos

Os seguintes grupos estão disponíveis na versão mais recente do MediaWiki. Se estiver a utilizar uma versão antiga, então alguns destes grupos podem não estar implementados.

Grupo Descrição Direitos predefinidos Versões
* Todos os utilizadores (incluindo os anónimos) createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, read, viewmyprivateinfo 1.5+
temp Contas de utilizador temporárias (T330816) Similar ao grupo * 1.41+
user Contas registadas. "Não" inclui contas temporárias. applychangetags, changetags, createpage, createtalk, edit, editcontentmodel, editmyusercss, editmyuserjs, editmyuserjson, editmywatchlist, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, viewmywatchlist 1.13+
autoconfirmed Registered accounts at least as old as $wgAutoConfirmAge and having at least as many edits as $wgAutoConfirmCount . autoconfirmed, editsemiprotected 1.6+
bot Accounts with the bot right (intended for automated scripts). autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect 1.5+
sysop Users who by default can delete and restore pages, block and unblock users, etc. apihighlimits, autoconfirmed, autopatrol, bigdelete, block, blockemail, browsearchive, createaccount, delete, deletedhistory, deletedtext, editinterface, editprotected, editsemiprotected, editsitejson, edituserjson, import, importupload, ipblock-exempt, managechangetags, markbotedits, mergehistory, move, move-categorypages, move-rootuserpages, move-subpages, movefile, noratelimit, patrol, protect, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload 1.5+
interface-admin Users who can edit sitewide CSS and JavaScript. editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson 1.32+
bureaucrat Users who can change the rights of other users by default and therefore have full access of the entire wiki. noratelimit, renameuser, userrights 1.5+
suppress deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed 1.13+

Remover grupos predefinidos

O MediaWiki contém por defeito uma série de grupos predefinidos. Most of these groups can be removed by unsetting the according array keys, among them $wgGroupPermissions[ 'group-name' ]. Para detalhes, veja em baixo.

Exemplo

This example will eliminate the bureaucrat group entirely. It is necessary to ensure that all six of these variables are unset for any group that one wishes to remove from being listed at Special:ListGroupRights; however, merely unsetting $wgGroupPermissions will suffice to remove it from Special:UserRights.

unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );

This code will not work if any extension that modifies the default rights for the bureaucrat group, such as Extension:AntiSpoof , is installed.

More broadly, to disable a user group created by an extension, the above code needs to run after all extensions have been registered. This used to be possible by registering an extension function in LocalSettings.php:

$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
    unset( $wgGroupPermissions['oversight'] );
    unset( $wgGroupPermissions['flow-bot'] );
};

However, this no longer works reliably due to T275334.

Nota Nota:

Direitos predefinidos

Os direitos predefinidos estão definidos em MainConfigSchema.php .

  • Additional rights: you should be able to list all the permissions available on your wiki by running PermissionManager::getAllRights().

Adicionar novos direitos

Informação para codificadores como se segue.

If you're adding a new right in core, for instance to control a new special page, you are required to add it to the list of available rights in PermissionManager.php , $coreRights (example). If you're doing so in an extension , you instead need to use $wgAvailableRights .

You probably also want to assign it to some user group by editing $wgGroupPermissions described above.

If you want this right to be accessible to external applications by OAuth or by bot passwords, then you will need to add it to a grant by editing $wgGrantPermissions .

// create projectmember-powers right
$wgAvailableRights[] = 'projectmember-powers';

// add projectmember-powers to the projectmember-group
$wgGroupPermissions['projectmember']['projectmember-powers'] = true;

// add projectmember-powers to the 'basic' grant so we can use our projectmember powers over an API request
$wgGrantPermissions['basic']['projectmember-powers'] = true;

You also need to add right-[name] and action-[name] interface messages to /languages/i18n/en.json (with documentation in qqq.json). The right-* messages can be seen on Special:ListGroupRights and the action-* messages are used in a sentence like "You do not have permission to ...".

Consultar também