Manual:Derechos de usuarios

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

Los derechos de usuario son permisos específicos de acceso y ejecución que pueden ser asignados a grupos de usuarios adaptables. MediaWiki viene con un conjunto predeterminado de derechos de usuario y grupos de usuarios, pero estos pueden ser personalizados. Esta página explica los derechos y grupos predeterminados y cómo personalizarlos.

Para más información sobre como agregar y remover usuarios individuales de la wiki de grupos, ver Help:Derechos de usuarios y grupos y  、Manual: Configurar/Ajustar grupos de usuarios en MediaWiki .

Cambiando permisos de grupo

Una instalación por defecto de MediaWiki asigna ciertos permisos a grupos determinados (ver más abajo). Puede cambiar los permisos por defecto editando el arreglo $wgGroupPermissions en LocalSettings.php con la sintaxis.

$wgGroupPermissions['group']['right'] = true /* o «false» */;
En una instalación predeterminada, $wgGroupPermissions estará inicializado en includes/DefaultSettings.php, pero no está presente en LocalSettings.php. Por tanto, deberás añadirlo a ese archivo.

Si un usuario tiene varios grupos, obtiene todos los permisos correspondientes a cada uno de los grupos en los que está. Todos los usuarios, incluidos los anónimos, están en el grupo '*'; y todos los usuarios registrados están en el grupo 'user'. Además de los grupos predeterminados, puedes crear arbitrariamente grupos nuevos con la misma matriz.

Ejemplos

Este ejemplo deshabilitará la visualización de todas las páginas que no estén en la lista de $wgWhitelistRead , y luego la volverá a habilitar solo para usuarios registrados:

$wgGroupPermissions['*']['read'] = false;
# La siguiente línea en realidad no es necesaria, ya que está en la configuración por defecto. ¡Ajustar '*' como falso no deshabilitará los permisos de los grupos que los tengan configurados de forma separada como verdaderos!
$wgGroupPermissions['user']['read'] = true;

Este ejemplo deshabilitará la edición de todas las páginas y lo volverá a habilitar solo para usuarios con direcciones confirmadas de correo electrónico:

# Deshabilitar para todos.
$wgGroupPermissions['*']['edit'] = false;
# Deshabilitar también para usuarios: por defecto, 'user' puede editar aunque '*' no pueda.
$wgGroupPermissions['user']['edit'] = false;
# Hacer que los usuarios con direcciones confirmadas de correo electrónico estén en el grupo.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Ocultar el grupo de la lista de usuarios.
$wgImplicitGroups[] = 'emailconfirmed';
# Por último, configurarlo como verdadero para el grupo deseado.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Crear un nuevo grupo y asignarle permisos

Puedes crear nuevos grupos de usuarios definiendo los permisos para el nombre de cada grupo en $wgGroupPermissions[ 'group-name' ] donde «<group-name>» es el nombre del grupo.

Además de asignar los permisos, deberías crear estas tres páginas wiki con el contenido apropiado:

  • MediaWiki:Group-<group-name> (contenido: Nombre del grupo)
  • MediaWiki:Group-<group-name>-member (contenido: Nombre de un miembro del grupo)
  • MediaWiki:Grouppage-<group-name> (contenido: Nombre de la página del grupo)

Por defecto, los burócratas pueden añadir o borrar usuarios de cualquier grupo. Sin embargo, si estás usando Manual:$wgAddGroups y Manual:$wgRemoveGroups , puede que necesites configurar esos en su lugar.

Ejemplos

Este ejemplo creará un grupo arbitrario «projectmember» que pueda bloquear usuarios y borrar páginas, y cuyas ediciones estén ocultas por defecto en el registro de cambios recientes:

$wgGroupPermissions['projectmember']['bot'] = true;
$wgGroupPermissions['projectmember']['block'] = true;
$wgGroupPermissions['projectmember']['delete'] = true;
El nombre del grupo no puede contener espacios, así que usa 'grupo-arbitrario' o 'grupo_arbitrario' en vez de 'grupo arbitrario' Más aún, se recomienda solo usar letras minúsculas para crear un grupo.

En este ejemplo, probablemente desees crear también estas páginas:

  • MediaWiki:Group-projectmember (contenido: Miembros del proyecto)
  • MediaWiki:Group-projectmember-member (contenido: Miembros del proyecto)
  • MediaWiki:Grouppage-projectmember (contenido: Project:Miembros del proyecto)

Esto asegurará que el grupo sea nombrado como «Miembros del proyecto» en toda la interfaz, que un miembro del grupo sea denominado como «Miembros del proyecto» y que las vistas generales enlacen el nombre del grupo a Project:Miembros del proyecto.

Este ejemplo deshabilita el permiso de escritura (creación y edición de páginas) por defecto, crea un grupo llamado «Write» (Escribir) y le otorga permiso de escritura. Se pueden añadir usuarios a este grupo mediante Special:UserRights:

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

En este ejemplo, probablemente quisieras crear también estas páginas:

  • MediaWiki:Group-writer (contenido: Writers, Escritores)
  • MediaWiki:Group-writer-member (contenido: Writer, Escritor)
  • MediaWiki:Grouppage-writer (contenido: Project:Write, Proyecto:Escribir)

Eliminar grupos predefinidos

MediaWiki contiene por defecto una serie de grupos predefinidos. La mayoría de estos grupos pueden ser eliminados desactivando las claves correspondientes de la matriz, entre ellas $wgGroupPermissions[ '<nombre-del-grupo>' ]. A continuación podemos ver más detalles.

Ejemplo

Este ejemplo eliminará el grupo bureaucrat por completo. Debemos asegurarnos de desactivar las seis variables para cualquier grupo que deseemos eliminar de Special:ListGroupRights; sin embargo, desactivar $wgGroupPermissions sin más será suficiente para eliminar el grupo de Special:UserRights. Este código debería ponerse después de cualquier línea require_once que añada extensiones como $RenameUser con código que otorga por defecto los permisos correspondientes al grupo de burócratas.

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

En algunas extensiones (Flow, Semantic MediaWiki, etc.), los derechos se otorgan durante el registro de la extensión o en una función de registro. En este caso, puede ser necesario usar una función de registro en LocalSettings.php que elimine algunos grupos de usuarios predefinidos:

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


Notas sobre el grupo «user»

Con el mecanismo anterior, puedes eliminar los grupos sysop (administrador), bureaucrat (burócrata) y bot, que, en caso de usarse, se pueden asignar a través del sistema de permisos de usuario habitual. Sin embargo, en la actualidad es imposible borrar el grupo user (usuario). Este grupo no se asigna a través del sistema de permisos habitual. En vez de ello, todos los usuarios conectados son automáticamente miembros del grupo. Esto está programado directamente en MediaWiki y no se puede cambiar con facilidad.

Lista de permisos

Los siguientes derechos de usuario están disponibles en la última versión de MediaWiki. En caso de usar una versión anterior, consulta «Especial:Versión» en tu wiki y revisa si tu versión está cubierta en la columna «Versiones».

Derecho Descripción Grupos de usuarios que tienen este derecho por defecto Versiones
Lectura
read Leer páginas - cuando está configurado como falso, se ignora para páginas específicas con $wgWhitelistRead
Advertencia Advertencia: Setting the user right "read" (allow viewing pages) to false will only protect wiki (article, talk, ...) pages, but uploaded files (images, files, docs... in the $wgUploadPath subdirectories) will always remain readable via direct access by default.
Use the information from Manual:Image authorization and img_auth.php pages when you have the need to restrict image views and file download access to only logged-in users.
*, user 1.5+
Edición
applychangetags Aplicar etiquetas junto con los cambios propios - (requiere el derecho edit) user 1.25+
autocreateaccount Iniciar sesión automáticamente con una cuenta de usuario externa - una versión más limitada de createaccount 1.27+
createaccount Crear cuentas de usuario nuevas - register / registration *, sysop 1.5+
createpage Crear páginas que no sean de discusión - requiere el derecho edit *, user 1.6+
createtalk Crear páginas de discusión - requiere el derecho edit *, user 1.6+
delete-redirect Borrar páginas cuya única revisión es una redirección (ten en cuenta que esto no es necesario si el grupo ya tiene el derecho delete) 1.36+
edit Editar páginas *, user 1.5+
editsemiprotected Editar páginas protegidas como «Allow only autoconfirmed users» - sin protección en cascada - requires the edit right autoconfirmed, bot, sysop 1.22+
editprotected Editar páginas protegidas como «Allow only administrators» - sin protección en cascada - requires the edit right sysop 1.13+
minoredit Marcar ediciones como menores - requiere el derecho edit user 1.6+
move Trasladar páginas - requiere el derecho edit user, sysop 1.5+
move-categorypages Trasladar categorías - requiere el derecho move user, sysop 1.25+
move-rootuserpages Trasladar páginas raíz de usuario - requiere el derecho move user, sysop 1.14+
move-subpages Trasladar páginas con sus subpáginas - requiere el derecho move user, sysop 1.13+
movefile Trasladar archivos - requiere el derecho move y que $wgAllowImageMoving sea verdadero user, sysop 1.14+
reupload Subir una nueva versión de un archivo existente - requiere el derecho upload user, sysop 1.6+
reupload-own Subir una nueva versión de un archivo propio - requiere el derecho upload (nótese que no es necesario si el grupo ya tiene el derecho reupload) 1.11+
reupload-shared Sobrescribir localmente archivos presentes en el repositorio multimedia compartido - (si está disponible) con archivos locales (requiere el derecho upload) user, sysop 1.6+
sendemail Enviar mensajes de correo a otros usuarios user 1.16+
upload Subir archivos - requiere el derecho edit y que $wgEnableUploads sea verdadero user, sysop 1.5+
upload_by_url Subir un archivo a traves de un URL - requiere el derecho upload (Antes de 1.20, se otorgaba a los sysops) 1.8+
Gestión
bigdelete Borrar páginas con historiales grandes (como se determina en $wgDeleteRevisionsLimit ) - requiere el derecho delete sysop 1.12+
block Bloquear o desbloquear a otros usuarios para que no puedan editar - Entre las opciones de bloqueo están la prevención de la edición y del registro de nuevas cuentas, y el autobloqueo de otros usuarios con la misma dirección IP sysop 1.5+
blockemail Bloquear o desbloquear a un usuario para que no pueda enviar correos electrónicos - permite deshabilitar el uso de la interfaz Special:Emailuser al efectuar un bloqueo - Req. permiso block sysop 1.11+
browsearchive Buscar páginas borradas - a través de Special:Undelete - requiere el derecho deletedhistory sysop 1.13+
changetags Agregar y quitar etiquetas arbitrarias a revisiones individuales y entradas del registro - actualmente no utilizado por extensiones user 1.25+
delete Borrar páginas 1.5–1.11: permite el borrado y la restauración de páginas.
1.12+: permite el borrado de páginas. Para restauraciones ya existe el derecho 'undelete', véase a continuación
sysop 1.5+
deletedhistory Ver el historial de páginas borradas sin su texto asociado sysop 1.6+
deletedtext Ver texto borrado y los cambios entre revisiones borradas sysop
deletelogentry Borrar y restaurar entradas de registro específicas - permite borrar/restaurar información (texto de la acción, resumen, usuario que realizó la acción) de entradas específicas del registro - Req. permiso deleterevision suppress 1.20+
deleterevision Borrar y restaurar revisiones específicas de páginas - permite borrar/restaurar información (texto de la revisión, resumen de edición, usuario que realizó la edición) de revisiones específicas Separado entre deleterevision y deletelogentry en 1.20 suppress 1.6+
editcontentmodel Editar el modelo de contenido de una página - requiere el derecho edit user 1.23.7+
editinterface Editar la interfaz de usuario - contiene mensajes de la interfaz. Para editar CSS/JSON/JS por todo el sitio, ahora hay derechos segregados, véase a continuación. - requiere el derecho edit sysop, interface-admin 1.5+
editmyoptions Editar tus preferencias * 1.22+
editmyprivateinfo Editar su propia información privada (ej.: correo electrónico, nombre real) y solicitar correos electrónicos para restablecer la contraseña - También oculta el "Cambiar contraseña", pero no otras formas de cambiar la contraseña - requires the viewmyprivateinfo right * 1.22+
editmyusercss Editar tus archivos CSS - antes de 1.31 se asignaba a todos (es decir, a «*») (nótese que no es necesario si el grupo ya tiene el derecho editusercss) - requiere el derecho edit user 1.22+
editmyuserjs Editar tus archivos JavaScript - antes de 1.31 se asignaba a todos (es decir, a «*») (nótese que no es necesario si el grupo ya tiene el derecho edituserjs) - requiere el derecho edit user 1.22+
editmyuserjsredirect Editar tus propias páginas de usuario en formato JavaScript cuando sean redirecciones (ten en cuenta que esto no es necesario si el grupo ya tiene el derecho edituserjs) - requiere el derecho edit 1.34+
editmyuserjson Editar tus propias páginas en formato JSON (nótese que no es necesario si el grupo ya tiene el derecho edituserjson) - requiere el derecho edit user 1.31+
editmywatchlist Editar su propia lista de seguimiento (ten en cuenta que algunas acciones seguirán añadiendo páginas aun sin este permiso). - requires the viewmywatchlist right * 1.22+
editsitecss Editar CSS global del sitio - requiere el derecho editinterface interface-admin 1.32+
editsitejs Editar JavaScript global del sitio - requiere el derecho editinterface interface-admin 1.32+
editsitejson Editar JSON global del sitio - requiere el derecho editinterface sysop, interface-admin 1.32+
editusercss Editar las páginas de CSS de otros usuarios - requiere el derecho edit interface-admin 1.16+
edituserjs Editar las páginas de JavaScript de otros usuarios - requiere el derecho edit interface-admin 1.16+
edituserjson Editar las páginas de JSON de otros usuarios - requiere el derecho edit sysop, interface-admin 1.31+
hideuser Bloquear o desbloquear un nombre de usuario, haciéndolo invisible - Solo se pueden suprimir por defecto usuarios con 1000 ediciones o menos. - requiere el derecho block

Usa $wgHideUserContribLimit para deshabilitarlo.

suppress 1.10+
markbotedits Marcar las reversiones como ediciones de un bot - véase Manual:Rollback - requiere el derecho rollback sysop 1.12+
mergehistory Fusionar historiales de páginas - requiere el derecho edit sysop 1.12+
pagelang Cambiar el idioma de la página - $wgPageLanguageUseDB debe ser verdadero 1.24+
patrol Marcar ediciones de otros como verificadas - $wgUseRCPatrol debe ser verdadero sysop 1.5+
patrolmarks Ver las marcas de verificación de cambios recientes 1.16+
protect Cambiar configuración de protección y editar páginas protegidas en cascada - requiere el derecho edit sysop 1.5+
rollback Revertir rápidamente las ediciones del último usuario que modificó una página en particular - requiere el derecho edit sysop 1.5+
suppressionlog Ver registros privados suppress 1.6+
suppressrevision Ver, ocultar y mostrar revisiones específicas de páginas de cualquier usuario - Antes de 1.13 este derecho se denominaba hiderevision - requiere el derecho deleterevision suppress 1.6+
unblockself Desbloquearse a sí mismo - Sin él, un administrador con la capacidad de bloquear no se puede desbloquear a sí mismo si es bloqueado por otro administrador sysop 1.17+
undelete Restaurar una página - requiere el derecho deletedhistory sysop 1.12+
userrights Modificar todos los permisos de usuario - permite la asignación o desasignación de todos* los grupos a cualquier usuario.

*Con $wgAddGroups y $wgRemoveGroups puedes hacer que sea posible añadir o borrar determinados grupos en lugar de todos

bureaucrat 1.5+
userrights-interwiki Modificar los permisos de usuario en otros wikis - requires the userrights right 1.12+
viewmyprivateinfo Ver su propia información privada (ej.: correo electrónico, nombre real) * 1.22+
viewmywatchlist Ver su propia lista de seguimiento * 1.22+
viewsuppressed Ver revisiones ocultas de cualquier usuario - es decir, una alternativa más restrictiva a «suppressrevision» (nótese que no es necesario si el grupo ya tiene el derecho suppressrevision) suppress 1.24+
Administración
autopatrol Marcar sus ediciones automáticamente como verificadas - $wgUseRCPatrol debe ser verdadero bot, sysop 1.9+
deletechangetags Eliminar etiquetas de la base de datos - actualmente no utilizado por extensiones sysop 1.28+
import Importar páginas desde otras wikis - «transwiki» - requiere el derecho edit sysop 1.5+
importupload Importar páginas desde un archivo - Este derecho se denominaba 'importraw' en la versión 1.5 y anteriores - requiere el derecho edit sysop 1.5+
managechangetags Crear y (des)activar etiquetas - actualmente no utilizado por extensiones sysop 1.25+
siteadmin Bloquear y desbloquear la base de datos - que bloquea todas las interacciones con el sitio web menos la visualización. (no disponible por defecto) 1.5+
unwatchedpages Ver una lista de páginas no vigiladas - enumera páginas que ningún usuario tiene en su lista de seguimiento sysop 1.6+
Técnicos
apihighlimits Usar límites más altos en peticiones a través de la API bot, sysop 1.12+
autoconfirmed No resultar afectado por los límites de frecuencia de edición para las IP - utilizado para el grupo «autoconfirmed», véase la otra tabla a continuación para más información (note that this is not needed if the group already has the noratelimit right) autoconfirmed, bot, sysop 1.6+
bot Ser tratado como un proceso automático - puede ser visto opcionalmente bot 1.5+
ipblock-exempt Evitar bloqueos a IP, automáticos y por intervalos sysop 1.9+
nominornewtalk No accionar el aviso de mensajes nuevos al realizar ediciones menores en páginas de discusión - requiere el derecho minoredit bot 1.9+
noratelimit No resultar afectado por los límites de frecuencia de edición - no está afectado por los límites de frecuencia (antes de la introducción de este derecho, se usaba para este propósito la variable de configuración $wgRateLimitsExcludedGroups ) sysop, bureaucrat 1.13+
override-export-depth Exportar páginas, incluidas aquellas enlazadas hasta una profundidad de 5
Con este derecho, puede definir la profundidad de las páginas vinculadas en Special:Export. De lo contrario, se utilizará el valor de $wgExportMaxLinkDepth , que es 0 por defecto.
?
suppressredirect Trasladar páginas sin dejar redirección - requiere el derecho move bot, sysop 1.12+
writeapi Hacer uso de la API de escritura - requiere el derecho edit *, user, bot 1.13+
Aunque estos permisos controlan cosas distintas, a veces, para realizar determinadas acciones, hace falta tener varios permisos. Por ejemplo, permitir que los usuarios editen pero no lean páginas no tiene sentido, porque para poder editar una página antes se debe poder leerla (suponiendo que no haya páginas en la lista blanca). Permitir subir archivos pero no editar páginas no tiene sentido, ya que al subir un archivo se crea implícitamente una página de descripción del archivo, etc.

Lista de grupos

Los siguientes grupos están disponibles en la última versión de MediaWiki. Si dispones de una versión anterior, algunos de estos grupos pueden no estar implementados.

Grupo Descripción Permisos predeterminados Versiones
* todos los usuarios (incluidos los 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 cuentas registradas 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 cuentas registradas con una edad de al menos $wgAutoConfirmAge segundos y que hayan hecho al menos $wgAutoConfirmCount ediciones. autoconfirmed, editsemiprotected 1.6+
bot cuentas con el derecho bot (pensado para scripts automatizados). autoconfirmed, autopatrol, apihighlimits, bot, editsemiprotected, nominornewtalk, suppressredirect, writeapi 1.5+
sysop usuarios que por defecto pueden borrar y restaurar páginas, bloquear y desbloquear usuarios, 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 usuarios que pueden editar ficheros globales CSS/JS. editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson 1.32+
bureaucrat usuarios que por defecto pueden cambiar los derechos de otros usuarios. noratelimit, userrights 1.5+
suppress deletelogentry, deleterevision, hideuser, suppressionlog, suppressrevision, viewsuppressed

A partir de MW 1.12, puedes crear tus propios grupos en los cuales los usuarios son promovidos automáticamente (al igual que ocurre con autoconfirmed e emailconfirmed) mediante $wgAutopromote . Puedes incluso crear cualquier grupo personalizado simplemente asignándole derechos.

Derechos predeterminados

Los derechos predeterminados están definidos en DefaultSettings.php .

Añadir nuevos derechos

La siguiente información es solo para programadores

Si estás añadiendo un nuevo derecho en el núcleo, por ejemplo, para controlar una nueva página especial, es obligatorio añadirlo a la lista de derechos disponibles en PermissionManager.php , $coreRights (ejemplo). En caso de hacerlo en una extensión , en lugar de eso necesitas usar $wgAvailableRights .

Probablemente también desees asignárselo a algún grupo de usuarios. Para ello, deberás editar $wgGroupPermissions , tal como se describe más arriba.

Si deseas que este derecho sea accesible para aplicaciones externas mediante OAuth  o contraseñas de bot, tendrás que añadirlo a una concesión. Para ello, tendrás que editar $wgGrantPermissions .

// crear el derecho de projectmember-powers
$wgAvailableRights[] = 'projectmember-powers';

// añadir projectmember-powers al 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;

También tendrás que añadir los mensajes de interfaz right-[nombre] y action-[nombre] a /languages/i18n/en.json (con la documentación en qqq.json) Los mensajes right-* se pueden ver en Special:ListGroupRights, y los mensajes action-* se usan en frases como «No tienes permiso para ...».

Véase también