Manual:Direitos de usuário
Os direitos de usuário são permissões (como a capacidade de editar páginas ou bloquear usuários) que podem ser atribuídas a diferentes grupos de usuários. O MediaWiki é fornecido com um conjunto padrão de direitos de usuário e grupos de usuários, mas eles podem ser personalizados. Esta página explica os direitos e grupos padrão e como personalizá-los.
Para obter informações sobre como adicionar e remover usuários individuais da wiki de grupos, consulte Help:Direitos e grupos de usuários e Manual:Definindo grupos de usuários no MediaWiki .
Alterando permissões de grupo
A instalação padrão do MediaWiki atribui certos direitos a grupos padrão (ver abaixo). Você pode alterar os direitos padrão editando o arranjo $wgGroupPermissions em LocalSettings.php com a sintaxe
$wgGroupPermissions['group']['right'] = true /* ou false */;
$wgGroupPermissions
será configurado em includes/DefaultSettings.php
, mas não estará presente em LocalSettings.php
Você terá de adicioná-lo ao arquivoSe um membro possuir múltiplos grupos, ele receberá todas as permissões de todo grupo no qual ele está.
Todos os usuários, incluindo usuários anônimos, estão no grupo '*'
; todos os usuários registrados estão no grupo 'user'
.
Além dos grupos padrão, você pode arbitrariamente criar novos grupos que utilizam o mesmo arranjo.
Exemplos
Este exemplo irá desativar a visualização de todas as páginas que não constem na $wgWhitelistRead e, em seguida, reativará apenas para usuários registrados:
$wgGroupPermissions['*']['read'] = false;
# A seguinte linha não é realmente necessária, já que está nos padrões. Ajustar '*' para false não desativa direitos para grupos que têm o direito configurado de maneira separada para true!
$wgGroupPermissions['user']['read'] = true;
Este exemplo desativa a edição de todas as páginas, em seguida, reabilita apenas para os usuários com confirmação de endereço de e-mail:
# Desabilitar para todos.
$wgGroupPermissions['*']['edit'] = false;
# Desabilitar os usuários, também: por padrão, 'user' tem permissão para editar, mesmo se '*' não esteja ativado.
$wgGroupPermissions['user']['edit'] = false;
# Alterá-lo para que os usuários com confirmação de endereço de email estão no grupo.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Ocultar grupo da lista de usuários.
$wgImplicitGroups[] = 'emailconfirmed';
# Finalmente, defina-o como true para o grupo desejado.
$wgGroupPermissions['emailconfirmed']['edit'] = true;
Criando um novo grupo e atribuindo permissões a ele
Você pode criar novos grupos de usuários pela definição das permissões de acordo com o nome do grupo em $wgGroupPermissions[ 'group-name' ]
onde <group-name> é o nome real do grupo.
Além de atribuir permissões, você deve criar estas três páginas wiki com conteúdo apropriado:
- MediaWiki:Group-<group-name> (conteúdo:
Nome do grupo
) - MediaWiki:Group-<group-name>-member (conteúdo:
Nome de um membro do grupo
) - MediaWiki:Grouppage-<group-name> (conteúdo:
Name of the group page
)
Por padrão, os burocratas podem adicionar usuários ou removê-los de qualquer grupo. No entanto, se você estiver usando Manual:$wgAddGroups e Manual:$wgRemoveGroups , you pode precisar personalizar esses.
Exemplos
Este exemplo irá criar um grupo arbitrário projectmember que pode bloquear usuários e excluir páginas e cujas edições estão ocultas por padrão no log de mudanças recentes:
$wgGroupPermissions['projectmember']['bot'] = true;
$wgGroupPermissions['projectmember']['block'] = true;
$wgGroupPermissions['projectmember']['delete'] = true;
'random-group'
ou 'random_group'
ao invés de 'random group'
. Além disso, é recomendável usar apenas letras minúsculas para criar um grupo.Neste exemplo, você provavelmente também queira criar páginas:
- MediaWiki:Group-projectmember (content:
Membros do projeto
) - MediaWiki:Group-projectmember-member (conteúdo:
Membro do projeto
) - MediaWiki:Grouppage-projectmember (conteúdo:
Project:Project Members
)
Isto irá assegurar que o grupo será referido como "Project members" em toda a interface, e um membro será referido como um "project members", e visões gerais ligarão o nome do grupo para Project:Project members.
Este exemplo desabilita o acesso de gravação (edição e criação de página) por padrão, cria um grupo chamado "Gravar" e concede acesso de gravação. Os usuários podem ser adicionados manualmente a este grupo 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;
Neste exemplo, você provavelmente também queira criar páginas:
- MediaWiki:Group-writer (conteúdo:
Writers
) - MediaWiki:Group-writer-member (conteúdo:
Writer
) - MediaWiki:Grouppage-writer (conteúdo:
Project:Write
)
Removendo grupos predefinidos
O MediaWiki da caixa vem com uma série de grupos predefinidos. A maioria desses grupos pode ser removida desarmando as chaves de matriz de acordo, entre elas $wgGroupPermissions[ '<group-name>' ]. Para mais detalhes, veja abaixo.
Exemplo
Este exemplo eliminará completamente o grupo burocrático.
É necessário garantir que todas as seis dessas variáveis estejam desativadas para qualquer grupo que se deseja remover de ser listado em Special:ListGroupRights; No entanto, basta unsetter $wgGroupPermissions será suficiente para removê-lo de Special:UserRights.
Este código deve ser colocado após qualquer linhas require_once
que adicionam extensões como $RenameUser contendo código que fornece permissões de grupo de burocratas por padrão.
unset( $wgGroupPermissions['bureaucrat'] );
unset( $wgRevokePermissions['bureaucrat'] );
unset( $wgAddGroups['bureaucrat'] );
unset( $wgRemoveGroups['bureaucrat'] );
unset( $wgGroupsAddToSelf['bureaucrat'] );
unset( $wgGroupsRemoveFromSelf['bureaucrat'] );
Em algumas extensões (Flow, Semantic MediaWiki, etc.), os direitos são adicionados durante o registro de extensão ou em uma função de registro. Neste caso, pode ser necessário usar uma função de registro em LocalSettings.php
para remover alguns grupos de usuários predefinidos:
$wgExtensionFunctions[] = function() use ( &$wgGroupPermissions ) {
unset( $wgGroupPermissions['oversight'] );
unset( $wgGroupPermissions['flow-bot'] );
};
Nota sobre o grupo chamado "usuário"
Com o mecanismo acima, você pode remover os grupos sysop, burocrata e bot, que - se usado - pode ser atribuído pelo habitual sistema de permissão do usuário.
No entanto, atualmente não é possível remover o grupo user
.
Este grupo não é atribuído através do sistema de permissão usual.
Em vez disso, cada usuário logado automaticamente é membro desse grupo.
Isso é codificado em MediaWiki e atualmente não pode ser alterado facilmente.
Lista de permissões
Os direitos de usuário a seguir estão disponíveis na última versão do MediaWiki. Se você estiver usando uma versão mais antiga, verifique "Special:Version" em sua wiki e veja se sua versão é abordado na coluna "versões".
Direito | Descrição | Grupos de usuários que têm esse direito por padrão | Versões |
---|---|---|---|
Leitura | |||
read | Ler páginas - quando configurado como falso, substitua por páginas específicas com $wgWhitelistRead
|
*, user | 1.5+ |
Edição | |||
applychangetags | Aplicar etiquetas juntamente com as alterações de alguém - requires the edit right
|
user | 1.25+ |
autocreateaccount | Iniciar a sessão automaticamente com uma conta de usuário externa - uma versão mais limitada de createaccount | — | 1.27+ |
createaccount | Criar novas contas de usuário - 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 that this is not needed if the group already has the delete right)
|
— | 1.36+ |
edit | Editar páginas | *, user | 1.5+ |
editsemiprotected | Editar páginas protegidas como "Allow only autoconfirmed users" - sem proteção em cascata - requires the edit right | autoconfirmed, bot, sysop | 1.22+ |
editprotected | Editar páginas protegidas como "Allow only administrators" - sem proteção em cascata - requires the edit right | sysop | 1.13+ |
minoredit | Marcar edições como menores - requires the edit right
|
user | 1.6+ |
move | Mover páginas - requer o direito edit
|
user, sysop | 1.5+ |
move-categorypages | Mover páginas de categorias - requer o direito move
|
user, sysop | 1.25+ |
move-rootuserpages | Mover páginas raiz de usuários - 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 arquivos - requer o direito move e $wgAllowImageMoving como verdadeiro
|
user, sysop | 1.14+ |
reupload | Sobrescrever um arquivo existente - requer o direito upload
|
user, sysop | 1.6+ |
reupload-own | Sobrescrever um arquivo existente enviado pelo mesmo usuário - requer o direito upload (note que isso não é necessário se o grupo já possui o direito reupload)
|
— | 1.11+ |
reupload-shared | Sobrescrever localmente arquivos no repositório compartilhado de mídias - (se um estiver configurado) com arquivos locais (requer o direito upload )
|
user, sysop | 1.6+ |
sendemail | Enviar email a outros usuários | user | 1.16+ |
upload | Enviar arquivos - requer o direito edit e $wgEnableUploads como verdadeiro
|
user, sysop | 1.5+ |
upload_by_url | Enviar um arquivo por um URL - requer o direito upload (Antes da 1.20, era dado a administradores)
|
— | 1.8+ |
Gerenciamento | |||
bigdelete | Eliminar páginas com histórico grande (conforme determinado por $wgDeleteRevisionsLimit ) - requer o direito delete | sysop | 1.12+ |
block | Bloqueiar ou desbloqueiar outros usuários de editar - As opções de bloqueio incluem evitar a edição e o registro de novas contas e o auto-bloqueio de outros usuários no mesmo endereço IP | sysop | 1.5+ |
blockemail | Bloquear ou desbloquear um usuário para que não possa mandar emails - permite impedir o uso da interface Special:EmailUser, ao bloquear - requer o direito bloquear | sysop | 1.11+ |
browsearchive | Buscar páginas eliminadas - através Special:Undelete. - requer o direito deletedhistory | sysop | 1.13+ |
changetags | Adicionar e remover etiquetas arbitrárias em revisões e registros individuais - atualmente não utilizado por extensões | user | 1.25+ |
delete | Eliminar páginas 1.5–1.11: permite a eliminação ou não eliminação de páginas. 1.12+: permite a eliminação de páginas. Para desfazer eliminações, existe agora o direito 'undelete' right, veja abaixo. |
sysop | 1.5+ |
deletedhistory | Ver entradas de histórico eliminadas, sem o texto associado | sysop | 1.6+ |
deletedtext | Ver texto removido e alterado entre revisões removidas | sysop | |
deletelogentry | Eliminar e restaurar entradas específicas de registos - permite excluir/descomprimir informações (texto de ação, resumo, usuário que fez a ação) de entradas de registros específicas - requer o direito excluir revisão | suppress | 1.20+ |
deleterevision | Eliminar e restaurar revisões específicas de páginas - permite excluir/restaurar informações (texto de revisão, sumário de edição, o usuário que fez a edição) de revisões específicas (não disponível por padrão) Dividiu em deleterevision e deletelogentry em 1.20 | suppress | 1.6+ |
editcontentmodel | Editar o modelo de uma pagina - requer o direito edit | user | 1.23.7+ |
editinterface | Editar a interface de usuário - contém mensagens de interface. Para editar o CSS/JSON/JS global, há dois direitos segregados; veja-os abaixo. - requer o direito edit | sysop, interface-admin | 1.5+ |
editmyoptions | Modifique suas preferências. | * | 1.22+ |
editmyprivateinfo | Editar seus próprios dados privados (exemplo: endereço de e-mail, nome real) e solicitar e-mails de redefinição de senha - also hides the "Change Password", but not other ways to change the password - requires the viewmyprivateinfo right
|
* | 1.22+ |
editmyusercss | Edite seu próprio arquivo CSS de usuário - antes da 1.31, era atribuído a todos (*) (note que isso não é necessário se o grupo já possui o direito editusercss) - requer o direito edit | user | 1.22+ |
editmyuserjs | Edite seu próprio arquivo JavaScript de usuário - antes da 1.31, era atribuído a todos (*) (note que isso não é necessário se o grupo já possui o direito edituserjs) - requer o direito edit | user | 1.22+ |
editmyuserjsredirect | Editar seus próprios arquivos JavaScript de usuários que são redirecionados (note that this is not needed if the group already has the edituserjs right) - requires the edit right | — | 1.34+ |
editmyuserjson | Edite seus próprios arquivos JSON do usuário (note que isso não é necessário se o grupo já possui o direito edituserjson) - requer o direito edit | user | 1.31+ |
editmywatchlist | Editar sua própria lista de páginas vigiadas (note que algumas ações seguirão adicionando páginas mesmo sem este direito) - requires the viewmywatchlist right
|
* | 1.22+ |
editsitecss | Editar CSS global do site - requires the editinterface right | interface-admin | 1.32+ |
editsitejs | Editar JavaScript global do site - requer o direito editinterface | interface-admin | 1.32+ |
editsitejson | Editar JSON global do site - requires the editinterface right | sysop, interface-admin | 1.32+ |
editusercss | Editar os arquivos CSS de outros usuários - requer o direito edit | interface-admin | 1.16+ |
edituserjs | Editar os arquivos JS de outros usuários - requires the edit right | interface-admin | 1.16+ |
edituserjson |
Editar arquivos JSON de outros usuários - requer o direito edit |
sysop, interface-admin | 1.31+ |
hideuser | Bloquear or desbloquear um nome de usuário, escondendo-o do público - Somente usuários com 1000 edições ou menos podem ser suprimidos por padrão. - requires the block right
Use |
suppress | 1.10+ |
markbotedits | Marcar edições revertidas como edições de robôs - veja [[Manual:Rollback |Manual:Administrators#Rollback]]. - requer o direito rollback | sysop | 1.12+ |
mergehistory | Fundir o histórico de páginas - requires the edit right | sysop | 1.12+ |
pagelang | Mudar idioma da página - $wgPageLanguageUseDB deve ser true | — | 1.24+ |
patrol | Marcar edições como patrulhadas - $wgUseRCPatrol deve estar setada em true | sysop | 1.5+ |
patrolmarks | Usar funcionalidades de patrulhagem das mudanças recentes | — | 1.16+ |
protect | Mudar configuração de proteção e editar páginas protegidas em cascata - requer o direito edit | sysop | 1.5+ |
rollback | Reverter rapidamente o último usuário que editou uma página em particular - requires the edit right | sysop | 1.5+ |
suppressionlog | Ver registros privados | suppress | 1.6+ |
suppressrevision | Rever e restaurar edições indisponíveis a administradores - Anteriormente a 1.13 este privilégio era chamado hiderevision - requer o direito deleterevision | suppress | 1.6+ |
unblockself | Desbloquear a si mesmo - Sem ele um administrador que tem a capacidade de bloquear não pode desbloquear-se se bloqueado por outro administrador. | sysop | 1.17+ |
undelete | Restaurar páginas - requer o direito deletedhistory | sysop | 1.12+ |
userrights | Editar todos os direitos de usuário - permite a atribuição ou remoção de todos os grupos * para qualquer usuário. (*)Com as variáveis $wgAddGroups e $wgRemoveGroups você pode definir a possibilidade de adicionar/remover certos grupos, em vez de todos. |
bureaucrat | 1.5+ |
userrights-interwiki | Editar direitos de usuário de usuários em outras wikis - requires the userrights right | — | 1.12+ |
viewmyprivateinfo | Ver seus próprios dados privados (por exemplo: endereço de e-mail, nome real) | * | 1.22+ |
viewmywatchlist | Ver a sua lista de páginas vigiadas | * | 1.22+ |
viewsuppressed | Ver revisões escondidas de qualquer usuário - ou seja, uma alternativa mais restritiva a “suppressrevision” (note que isso não é necessário se o grupo já possui o direito suppressrevision) | suppress | 1.24+ |
<span id="Administration">Administration | |||
autopatrol | Ter edições automaticamente marcadas como patrulhadas - $wgUseRCPatrol deve ser verdade | bot, sysop | 1.9+ |
deletechangetags | Deletar etiquetas da base de dados. - atualmente não utilizado por extensões | sysop | 1.28+ |
import | Importar páginas de outros wikis - "transwiki" - requer o direito edit | sysop | 1.5+ |
importupload | Importar páginas de um arquivo carregado - Este privilégio era chamado de 'importraw' na versão 1.5 e em versões anteriores. - requer o direito edit | sysop | 1.5+ |
managechangetags | Criar e (des)ativar etiquetas - atualmente não utilizado por extensões | sysop | 1.25+ |
siteadmin | Bloquear e desbloquear o banco de dados - que bloqueia todas as interações com o site, exceto a visualização. (não disponível por padrão) | — | 1.5+ |
unwatchedpages | Ver uma lista de páginas não vigiadas - ista as páginas que nenhum usuário esteja vigiando. | sysop | 1.6+ |
Technical | |||
apihighlimits | Usar limites superiores em consultas (queries) via API | bot, sysop | 1.12+ |
autoconfirmed | Não ser afetado pelos limites de frequência baseados no número de IP - utilizado para o grupo 'autoconfirmados', ver a outra tabela abaixo para obter mais informações. (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 - pode ser visto opcionalmente | bot | 1.5+ |
ipblock-exempt | Contornar bloqueios de IP, automáticos e de intervalo | sysop | 1.9+ |
nominornewtalk | Não ter o aviso de novas mensagens despoletado quando são feitas edições menores a páginas de discussão - requer o direito minoredit | bot | 1.9+ |
noratelimit | Não afetado pelos limites de velocidade de operação - não afetado pelos limites de velocidade (antes da introdução desse privilégio, a variável de configuração $wgRateLimitsExcludedGroups era usado para esta finalidade) | sysop, bureaucrat | 1.13+ |
override-export-depth | Exportar páginas incluindo páginas ligadas até uma profundidade de 5 Com este direito, você pode definir a profundidade das páginas vinculadas em Special:Export. Caso contrário, o valor de $wgExportMaxLinkDepth , que é 0 por padrão, será usado. |
— | ? |
suppressredirect | Não criar um redirecionamento do nome antigo quando uma página é movida - requer o direito move | bot, sysop | 1.12+ |
Lista de Grupos
Os seguintes grupos estão disponíveis na última versão do MediaWiki. Se você estiver usando uma versão mais antiga, em seguida, alguns destes não podem ser implementados.
Grupo | Descrição | Direitos padrão | Versões |
---|---|---|---|
* | todos os usuários (incluindo anônimos). | createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi | 1.5+ |
temp | Temporary user accounts (T330816) | Similar to * group | 1.41+ |
user | contas registradas. Does not include temporary accounts. | applychangetags, changetags, createpage, createtalk, edit, editcontentmodel, editmyusercss, editmyuserjs, editmyuserjson, minoredit, move, move-categorypages, move-rootuserpages, move-subpages, movefile, purge, read, reupload, reupload-shared, sendemail, upload, writeapi | |
autoconfirmed | contas registradas pelo menos tão antigas quanto $wgAutoConfirmAge e tendo, pelo menos, tantas edições quanto $wgAutoConfirmCount . | autoconfirmed, editsemiprotected | 1.6+ |
bot | contas com o direito de robô (destina-se à operação com scripts automatizados). | autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi | 1.5+ |
sysop | usuários que por padrão podem apagar e restaurar páginas, bloquear e desbloquear usuários, 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 | usuários que podem editar o CSS/JS global. | editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson | 1.32+ |
bureaucrat | usuários que, por padrão, podem alterar os direitos dos outros usuários. | noratelimit, userrights | 1.5+ |
suppress | deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed |
Desde a versão 1.12, você pode criar seus próprios grupos em que os usuários são automaticamente promovidos (como com autoconfirmados e e-mail confirmado) usando $wgAutopromote . Você pode até mesmo criar qualquer grupo personalizado por apenas atribuir direitos a eles.
Direitos padrão
Os direitos padrão estão em MainConfigSchema.php .
- Os valores padrão na versão do tronco: https://phabricator.wikimedia.org/diffusion/MW/browse/master/includes/MainConfigSchema.php
- Os valores padrão na última versão estável MediaWiki, versão 1.42, estão disponíveis aqui: https://phabricator.wikimedia.org/diffusion/MW/browse/REL1_42/includes/MainConfigSchema.php
- Direitos adicionais: você deve ser capaz de listar todas as permissões disponíveis em sua wiki, executando
PermissionManager::getAllRights()
.
Adicionando novos direitos
A informação para codificadores apenas segue.
Se você estiver adicionando um novo direito no núcleo, por exemplo, para controle uma nova página especial, você precisa requerer para adicioná-lo à lista de direitos disponíveis em PermissionManager.php , $coreRights
(example).
Se vocês está fazendo isso em uma extensão , você precisa usar $wgAvailableRights .
Você provavelmente também deseja atribuí-lo a algum grupo de usuários editando descrição $wgGroupPermissions acima.
Se você quiser que este direito seja acessível a aplicativos externos por OAuth ou por senhas de robôs, então você precisará adicioná-lo a uma concessão editando $wgGrantPermissions .
// criar o direito projectmember-powers
$wgAvailableRights[] = 'projectmember-powers';
// adicionar projectmember-powers para projectmember-group
$wgGroupPermissions['projectmember']['projectmember-powers'] = true;
// adicione projectmember-powers do projeto à concessão 'basic' para que possamos usar os projectmember do projeto em uma solicitação de API
$wgGrantPermissions['basic']['projectmember-powers'] = true;
Você também precisa adicionar right-[name]
e action-[name]
mensagens de interface para /languages/i18n/en.json (with documentation no qqq.json).
As mensagens corretas * podem ser vistas em Special:ListGroupRights e as mensagens de ação * são usadas em uma frase como "Você não tem permissão para...".
Ver também
- Special:ListGroupRights – links para esta página de ajuda e podem conter direitos ainda não documentados
- Help:Direitos e grupos de usuários – página de ajuda, descreve o uso da interface Special:Userrights (para burocratas)
- Manual:Definindo grupos de usuários no MediaWiki – informações sobre gestão e atribuição de grupos de usuários.
- Manual:$wgNamespaceProtection
- Manual:$wgAutopromote
- Manual:$wgAddGroups , Manual:$wgRemoveGroups
- Manual:Preventing access – exemplos
- Manual:Establishing a hierarchy of bureaucrats
- Category:Extensões de direitos de usuário – Muitas extensões relativas aos direitos de usuário