Manuale:Permessi utente

From MediaWiki.org
Jump to navigation Jump to search
This page is a translated version of the page Manual:User rights and the translation is 47% complete.

Outdated translations are marked like this.
Other languages:
Bahasa Indonesia • ‎Deutsch • ‎English • ‎Tagalog • ‎dansk • ‎español • ‎français • ‎italiano • ‎polski • ‎português do Brasil • ‎čeština • ‎русский • ‎српски / srpski • ‎українська • ‎עברית • ‎हिन्दी • ‎ไทย • ‎中文 • ‎日本語 • ‎ꯃꯤꯇꯩ ꯂꯣꯟ • ‎한국어

I permessi utente sono autorizzazioni e abilità specifiche che possono essere assegnate a gruppi utente personalizzabili.

MediaWiki ships with a default set of user rights and user groups, but these can be customized. This page explains the default rights and groups and how to customize them.

For information about how to add and remove individual wiki users from groups, see Aiuto: Diritti utente e gruppi utente and Manual:Setting user groups in MediaWiki .

Cambiare i permessi utente

Una installazione predefinita di MediaWiki assegna alcuni gruppi predefiniti (vedi in basso). Puoi cambiare i permessi predefiniti modificando l'array $wgGroupPermissions in LocalSettings.php con la sintassi.

$wgGroupPermissions['group']['right'] = true /* o false */;
In un'installazione predefinita $wgGroupPermissions sarà impostato in includes/DefaultSettings.php, ma non è presente in LocalSettings.php. Avrai bisogno di aggiungerlo in quel file.

Se un membro è in più gruppi, ottiene tutti i permessi da ogni gruppi a cui appartiene. Tutti gli utenti, inclusi gli utenti anonimi, sono nel gruppo '*'; tutti gli utenti registrati sono nel gruppo 'user'. In aggiunta ai gruppi predefiniti, puoi creare nuovi gruppi arbitrariamente usando il medesimo array.

Esempi

Questo esempio disabiliterà la visualizzazione di ogni pagina non elencata in $wgWhitelistRead , quindi la ri-abilita solo per gli utenti registrati:

$wgGroupPermissions['*']['read']    = false;
# La riga seguente non è al momento necessaria, siccome è in quelle predefinite. Impostare '*' a false non disabilita i permessi per i gruppi che hanno quel permesso separatamente impostato a true!
$wgGroupPermissions['user']['read'] = true;

Questo esempio disabiliterà la modifica di tutte le pagine, poi le ri-abiliterà solo per gli utenti con un indirizzo e-mail confermato.

# Disabilita per tutti.
$wgGroupPermissions['*']['edit']              = false;
# Disabilita anche per gli utenti: di default 'user' può modificare, anche se '*' non può farlo.
$wgGroupPermissions['user']['edit']           = false;
# Fa sì che gli utenti con un indirizzo e-mail confermato siano nel gruppo.
$wgAutopromote['emailconfirmed'] = APCOND_EMAILCONFIRMED;
# Nasconde il gruppo dalla lista dell'utente.
$wgImplicitGroups[] = 'emailconfirmed';
# Infine, imposta a true per il gruppo desiderato.
$wgGroupPermissions['emailconfirmed']['edit'] = true;

Creare un nuovo gruppo e assegnargli permessi

Puoi creare nuovi gruppi utente definendo i permessi al corrispettivo nome del gruppo in $wgGroupPermissions['<nome-gruppo>'] dove <nome-gruppo> è il nome attuale del gruppo.

Insieme all'aggiunta di permessi, dovresti creare queste tre pagine wiki popolandone i contenuti:

  • MediaWiki:Group-<group-name> (contenuto: Nome del gruppo)
  • MediaWiki:Group-<group-name>-member (contenuto: Nome di un membro del gruppo)
  • MediaWiki:Grouppage-<group-name> (contenuto: Nome della pagina del gruppo)

In maniera predefinita, i burocrati possono aggiungere o rimuovere utenti da qualsiasi gruppo. In ogni caso, se stai usando Manual:$wgAddGroups e Manual:$wgRemoveGroups , potresti avere invece bisogno di personalizzare questi ultimi.

Esempi

Questo esempio creerà un gruppo "ninja" arbitrario che può bloccare gli utenti e cancellare pagine, e i cui edit saranno invisibili di default nei registri delle modifiche recenti.

$wgGroupPermissions['ninja']['bot']    = true;
$wgGroupPermissions['ninja']['block']  = true;
$wgGroupPermissions['ninja']['delete'] = true;
Nota: il nome del gruppo non può contenere spazi, quindi usa 'gruppo-a-caso' or 'gruppo_a_caso' al posto di 'gruppo a caso'

In questo esempio, vorrai forse creare anche queste pagine:

  • MediaWiki:Group-ninja (contenuto: Ninja)
  • MediaWiki:Group-ninja-member (contenuto: ninja)
  • MediaWiki:Grouppage-ninja (contenuto: Progetto:Ninja)

Questo assicurerà che il gruppo sarà descritto come "Ninja" dappertutto sull'interfaccia, e un membro sarà descritto come "ninja", e il nome del gruppo collegherà alla pagina Progetto:Ninja.

Questo esempio disabilita l'accesso in scrittura (la modifica e creazione di pagine) in maniera predefinita, crea un gruppo chiamato "Scrivere", e gli garantisce l'accesso in scrittura. Gli utenti possono essere aggiunti manualmente a questo gruppo tramite Speciale:PermessiUtente:

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

In questo esempio, forse vorrai anche creare queste pagine:

  • MediaWiki:Group-Write (contenuto: Scrittori)
  • MediaWiki:Group-Write-member (contenuto: Scrittore)
  • MediaWiki:Grouppage-Write (contenuto: Progetto:Scrivere)

Rimuovere gruppo predefiniti

MediaWiki è fornita in maniera predefinita di un certo numero di gruppi predefiniti. La maggior parte di questi gruppi può essere rimosso eliminando la relativa chiave dell'array, in $wgGroupPermissions['<nome-gruppo>']. Per dettagli vedi in basso.

Esempio

Questo esempio eliminerà completamente i burocrati.

È necessario assicurarsi che tutte e sei queste variabili siano eliminate per ogni gruppo di cui desideri sia rimosso dall'elenco in Speciale:ElencoPermessiGruppi; in ogni caso, rimuovendo soltanto $wgGroupPermissions sarà sufficiente per rimuoverlo da Speciale:PermessiUtente.

Questo codice dovrebbe essere posto dopo qualsiasi riga require_once che aggiunga estensioni come Extension:Renameuser contenenti codice che dà ai burocrati dei permessi in maniera predefinita.

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

In alcune estensioni (Flow, Semantic MediaWiki, etc.), i permessi sono aggiunti durante la registrazione dell'estensione o in una funzione di registrazione. In questo caso, potrebbe essere necessario usare la funzione di registrazione nel LocalSettings.php per rimuovere alcuni gruppi predefiniti:

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

Note sul gruppo chiamato "user"

Con il meccanismo soprastante, puoi rimuovere il gruppo amministratori, burocrati e bot, che - se utilizzati - possono essere assegnati attraverso il normale sistema dei permessi utente. In ogni caso, è al momento impossibile rimuovere il gruppo user. Questo gruppo non è assegnato attraverso il solito sistema di permessi. Al contrario, ogni utente autenticato è automaticamente membro di quel gruppo. Questo è scalpito nel codice di MediaWiki ed al momento non può essere cambiato facilmente.

Lista di permessi

I seguenti permessi utente sono disponibili nell'ultima versione di MediaWiki. Se stai utilizzando una versione più vecchia, vai sul tuo wiki in "Speciale:Versione" e guarda se la tua versione è compresa in quelle nella colonna "versioni".

Permessi Descrizione Gruppi utente che hanno questo permesso in maniera predefinita Versioni
Leggere
read Legge pagine - quando impostato a false, ignora per pagine specifiche con $wgWhitelistRead
Attenzione Attenzione: 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 Authorisation 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+
Modificare
applychangetags Applica delle etichette alle proprie modifiche user 1.25+
autocreateaccount Accede automaticamente con un'utenza esterna - una versione più limitata di createaccount 1.27+
createaccount Crea nuove utenze - register / registration *, sysop 1.5+
createpage Crea pagine (escluse le pagine di discussione) - richiede il permesso edit *, user 1.6+
createtalk Crea pagine di discussione - richiede il permesso edit *, user 1.6+
edit Modifica pagine *, user 1.5+
editsemiprotected Modifica pagine protette con "Allow only autoconfirmed users" - senza protezione a cascata autoconfirmed, bot, sysop 1.22+
editprotected Modifica pagine protette con "Allow only administrators" - senza protezione a cascata sysop 1.13+
minoredit Segna le modifiche come minori user 1.6+
move Sposta le pagine - richiede il permesso edit user, sysop 1.5+
move-categorypages Sposta le categorie - (richiede il permesso move) user, sysop 1.25+
move-rootuserpages Sposta le pagine principali degli utenti - richiede il permesso move user, sysop 1.14+
move-subpages Sposta le pagine insieme alle relative sottopagine - richiede il permesso move user, sysop 1.13+
movefile Sposta i file - richiede il permesso move e $wgAllowImageMoving impostato a true user, sysop 1.14+
reupload Sovrascrive un file esistente - richiede il permesso upload user, sysop 1.6+
reupload-own Sovrascrive un file esistente caricato dallo stesso utente - richiede il permesso upload (nota che non è necessario che il gruppo abbia già il permesso reupload) 1.11+
reupload-shared Sovrascrive localmente file presenti nell'archivio condiviso - (se una è impostata) con file locali (richiede il permesso upload) user, sysop 1.6+
sendemail Invia email ad altri utenti user 1.16+
upload Carica file - richiede il permesso edit user, sysop 1.5+
upload_by_url Carica un file da un indirizzo URL - richiede il permesso upload (Prior to 1.20 it was given to sysops) 1.8+
Gestione
bigdelete Cancella pagine con cronologie lunghe (as determined by $wgDeleteRevisionsLimit ) sysop 1.12+
block Blocca le modifiche da parte di altri utenti - Block options include preventing editing and registering new accounts, and autoblocking other users on the same IP address sysop 1.5+
blockemail Impedisce a un utente di inviare email - allows preventing use of the Special:Emailuser interface when blocking sysop 1.11+
browsearchive Ricerca nelle pagine cancellate - through Special:Undelete sysop 1.13+
changetags Aggiunge e rimuove specifiche etichette su singole versioni o voci di registro - currently unused by extensions user 1.25+
delete Cancella pagine 1.5–1.11: allows the deletion or undeletion of pages.
1.12+: allows the deletion of pages. For undeletions, there is now the 'undelete' right, see below
sysop 1.5+
deletedhistory Visualizza le versioni della cronologia cancellate senza il testo associato sysop 1.6+
deletedtext Visualizza testo cancellato e modifiche fra versioni cancellate sysop
deletelogentry Cancella e ripristina voci di registro specifiche - allows deleting/undeleting information (action text, summary, user who made the action) of specific log entries (not available by default) sysop 1.20+
deleterevision Nasconde versioni specifiche delle pagine - allows deleting/undeleting information (revision text, edit summary, user who made the edit) of specific revisions Split into deleterevision and deletelogentry in 1.20 (not available by default) sysop 1.6+
editcontentmodel Modifica il modello di contenuto di una pagina user 1.23.7+
editinterface Modifica l'interfaccia utente - contains interface messages. For editing sitewide CSS/JSON/JS, there are now segregate rights, see below. sysop, interface-admin 1.5+
editmyoptions Modifica le proprie preferenze * 1.22+
editmyprivateinfo Modifica i propri dati personali (ad esempio: indirizzo email, nome vero) * 1.22+
editmyusercss Modifica il file CSS del proprio utente - 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) user 1.22+
editmyuserjs Modifica il file JavaScript del proprio utente - 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) user 1.22+
editmyuserjson Modifica il file JSON del proprio utente (note that this is not needed if the group already has the edituserjson right) user 1.31+
editmywatchlist Modifica i propri osservati speciali. Da notare che alcune azioni potranno ancora aggiungere pagine anche senza questo diritto. * 1.22+
editsitecss Modifica CSS del sito interface-admin 1.32+
editsitejs Modifica JavaScript del sito interface-admin 1.32+
editsitejson Modifica JSON del sito sysop, interface-admin 1.32+
editusercss Modifica i file CSS di altri utenti interface-admin 1.16+
edituserjs Modifica i file JS di altri utenti interface-admin 1.16+
edituserjson Modifica i file JSON di altri utenti sysop, interface-admin 1.31+
hideuser Blocca un nome utente, nascondendolo al pubblico - (not available by default)

Only users with 1000 edits or less can be suppressed by default. Use $wgHideUserContribLimit to disable.

1.10+
markbotedits Segna le modifiche soggette a rollback come effettuate da bot - see Manual:Administrators#Rollback sysop 1.12+
mergehistory Fonde la cronologia delle pagine sysop 1.12+
pagelang Modifica la lingua della pagina - $wgPageLanguageUseDB must be true 1.24+
patrol Segna le modifiche degli altri utenti come verificate - $wgUseRCPatrol must be true sysop 1.5+
patrolmarks Usa la funzione di verifica delle ultime modifiche 1.16+
protect Cambia i livelli di protezione e modifica pagine protette ricorsivamente sysop 1.5+
rollback Annulla rapidamente le modifiche dell'ultimo utente che ha modificato una particolare pagina sysop 1.5+
suppressionlog Visualizza i registri privati 1.6+
suppressrevision Vede, nasconde e ripristina versioni specifiche delle pagine a qualsiasi utente - Prior to 1.13 this right was named hiderevision (not available by default) 1.6+
unblockself Sblocca se stesso - Without it, an administrator that has the capability to block cannot unblock themselves if blocked by another administrator sysop 1.17+
undelete Recupera una pagina - requires deletedhistory right sysop 1.12+
userrights Modifica tutti i diritti dell'utente - 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 Modifica i diritti degli utenti di altre wiki 1.12+
viewmyprivateinfo Visualizza i propri dati personali (ad esempio: indirizzo email, nome vero) * 1.22+
viewmywatchlist Visualizza i propri osservati speciali * 1.22+
viewsuppressed Vede versioni nascoste a qualsiasi utente - i.e. a more narrow alternative to "suppressrevision" (note that this is not needed if the group already has the suppressrevision right) 1.24+
Administration
autopatrol Segna automaticamente le proprie modifiche come verificate - $wgUseRCPatrol must be true bot, sysop 1.9+
deletechangetags Cancella le etichette dal database - currently unused by extensions sysop 1.28+
import Importa pagine da altri wiki - “transwiki” sysop 1.5+
importupload Importa pagine da un upload di file - This right was called 'importraw' in and before version 1.5 sysop 1.5+
managechangetags Crea e attiva/disattiva le etichette - currently unused by extensions sysop 1.25+
siteadmin Blocca e sblocca il database - which blocks all interactions with the web site except viewing. (not available by default) 1.5+
unwatchedpages Visualizza una lista di pagine non osservate - lists pages that no user has watchlisted sysop 1.6+
Technical
apihighlimits Usa limiti più alti per le interrogazioni API bot, sysop 1.12+
autoconfirmed Non soggetto al limite di azioni per IP - used for the 'autoconfirmed' group, see the other table below for more information autoconfirmed, bot, sysop 1.6+
bot Da trattare come processo automatico - can optionally be viewed bot 1.5+
ipblock-exempt Ignora i blocchi degli IP, i blocchi automatici e i blocchi di range di IP sysop 1.9+
nominornewtalk Fa sì che le modifiche minori alle pagine di discussione non facciano comparire l'avviso di nuovo messaggio - requires minor edit right bot 1.9+
noratelimit Non soggetto al limite di azioni - 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 Esporta le pagine includendo le pagine collegate fino ad una profondità di 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.
?
purge Pulisce la cache del sito per una pagina - URL parameter "&action=purge" user 1.10+
suppressredirect Non crea un redirect automatico quando si sposta una pagina bot, sysop 1.12+
writeapi Usa l'API in scrittura *, user, bot 1.13+
Although these permissions all control separate things, sometimes to perform certain actions you need multiple permissions. For example allowing people to edit but not read pages doesn't make sense, since in order to edit a page you must first be able to read it (Assuming no pages are whitelisted). Allowing uploads but not editing does not make sense, since in order to upload an image you must implicitly create an image description page, etc.

List of groups

The following groups are available in the latest version of MediaWiki. If you are using an older version then some of these may not be implemented.

Group Description Default rights Versions
* all users (including anonymous). createaccount, createpage, createtalk, edit, editmyoptions, editmyprivateinfo, editmywatchlist, read, viewmyprivateinfo, viewmywatchlist, writeapi 1.5+
user registered 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 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, writeapi 1.5+
sysop users who by default can delete and restore pages, block and unblock users, et cetera. 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, proxyunbannable, reupload, reupload-shared, rollback, suppressredirect, unblockself, undelete, unwatchedpages, upload 1.5+
interface-admin users who can edit sitewide CSS/JS. editinterface, editsitecss, editsitejs, editsitejson, editusercss, edituserjs, edituserjson 1.32+
bureaucrat users who by default can change other users' rights. noratelimit, userrights 1.5+

From MW 1.12, you can create your own groups into which users are automatically promoted (as with autoconfirmed and emailconfirmed) using $wgAutopromote . You can even create any custom group by just assigning rights to them.

Default rights

The default rights are defined in DefaultSettings.php .

Adding new rights

Information for coders only follows.

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 User.php , $mCoreRights (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 ninja-powers right
$wgAvailableRights[] = 'ninja-powers';

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

//add ninja-powers to the 'basic' grant so we can use our ninja powers over an API request
$wgGrantPermissions['basic']['ninja-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 ...".

See also