aiuto per una corretta traduzione, fare riferimento alla pagina in inglese.
DokuWiki – come la maggior parte dei wiki — è aperto di default. Tutti possono creare, modificare e cancellare le pagine. Tuttavia a volte ha senso limitare l'accesso a determinate funzioni o tutte le pagine. Questo avviene quando le Access Control Lists (ACL) sono attive. Questa pagina dovrebbe darvi una panoramica del funzionamento delle ACL in DokuWiki e come vanno configurate.
ATTENZIONE: La funzione ACL di DokuWiki è stata inclusa già da un po di tempo e dovrebbe essere abbastanza stabile. Tuttavia, se siete preoccupati per il rischio che utenti non autorizzati possano accedere alle informazioni del vostro wiki, non rendete il vostro computer accessibile da Internet …
Le ACL possono essere attivate dal installer del programma di installazione e le regole ACL iniziali vengono impostate anche lì. Per attivare manualmente le ACL, accendere all’ opzione useacl, copiare i file di esempio conf/acl.auth.php.dist
e conf/users.auth.php.dist
in conf/acl.auth.php
e conf/users.auth.php
respectively.
Ci sono alcune opzioni di configurazione e le caratteristiche che riguardano l'autenticazione, la registrazione degli utenti e la configurazione ACL. Si prega di verificare le loro pagine wiki per avere maggiori informazioni:
Limitazioni di accesso possono essere associati a pagine e namespaces (spazio di nomi). Ci sono sette autorizzazioni: none, read, edit, create, upload, delete and admin. Ogni autorizzazione di livello superiore contiene quelle più basse, il più basso elimina il più alto. È opportuno notare che creare, caricare e cancellare le autorizzazioni possono essere assegnati solo ai namespaces.
aiuto per una corretta traduzione, fare riferimento alla pagina in inglese.
Le regole che sono impostate sui namespaces si applicano sia ai namespaces dei media che ai namespaces delle pagine.
Quando DokuWiki controlla le regole che dovrebbe assegnare a un utente, utilizza tutte le regole che corrispondono al suo nome utente o nome dei gruppi cui egli appartiene. La regola che prevede l'autorizzazione di un utente viene scelta in base al seguente processo:
Gli utenti dei gruppi assegnati allo user manager (o il backend di autenticazione). Tuttavia ci sono due gruppi che sono speciali:
I gruppi sono rappresentati internamente e nel gestore delle ACL da un prefisso @
che è il carattere del nome del gruppo.
Per aggiungerne facilmente nuove regole o modificare le regole di accesso esistenti, è necessario utilizzare il ACL Manager che è disponibile nel menu di Amministrazione. Una descrizione dettagliata della sua interfaccia può essere trovata here - qui.
Fondamentalmente ci sono tre passaggi per aggiungere una nuova regola ACL:
Le regole esistenti possono essere modificate o cancellate nella tabella sotto nel gestore ACL.
In questa sezione viene spiegato come accedere a regole di lavoro, utilizzando un esempio di configurazione di fantasia che assomiglia a questo nel gestore di ACL:
Diamo un'occhiata a ciascuno di essi:
devel
del namespace. Nessuno è autorizzato a fare qualsiasi cosa.devel
, ma in sola lettura.funstuff
– remember exact pagematches override namespace permissions.devel:marketing
.marketing
sono impostate. Tutti i membri del gruppo / / marketing / / sono autorizzati a caricare. Diamo un'occhiata a un secondo esempio per capire meglio le specifiche corrispondenti :
Questa volta non vediamo quali regole match per diversi utenti quando cercano di accedere alla pagina private:bobspage
.
Nota regola # 5, che sembra duplicare regola # 3. Senza di essa, i membri dello staff non sarebbero in grado di accedere al namespace (spazio dei nomi) privato come regola # 4 e sarebbero tenuti fuori.
Restrizioni di accesso vengono salvati in un file chiamato conf/acl.auth.php
, che dovrebbe essere scrivibile dal server web se si desidera utilizzare l'interfaccia di amministrazione ACL sopra descritta. Si raccomanda di non modificare questo file manualmente. Utilizzare l'interfaccia di amministrazione.
Righe vuote e commenti nello stile della shell vengono ignorati. Ogni riga contiene 3 campi separati da spazi bianchi:
@
carattere.
Ci sono 7 livelli di autorizzazione rappresentati da un intero (integer). I livelli più alti sono quelli più bassi. Se puoi modificare pui anche leggere. Tuttavia, il permesso admin e di 255 non possono essere usati nel file conf/acl.auth.php
. It is only used internally by matching against the superuser option.
Name | Livello | si applica a | Permesso | costante DokuWiki |
---|---|---|---|---|
none | 0 | pages, namespaces | nessuna autorizzazione – Blocco completo out | AUTH_NONE |
read | 1 | pages, namespaces | permesso in lettura | AUTH_READ |
edit | 2 | pages, namespaces | pagine esistenti possono essere modificate | AUTH_EDIT |
create | 4 | namespaces | nuove pagine possono essere create | AUTH_CREATE |
upload | 8 | namespaces | mediafiles possono essere caricati | AUTH_UPLOAD |
delete | 16 | namespaces | mediafiles possono essere sovrascritte o cancellate | AUTH_DELETE |
admin | 255 | admin plugins | superuser1) cambiare le impostazioni admin | AUTH_ADMIN |
Ecco un esempio di configurazione di corrispondenza del primo esempio di cui sopra:
* @ALL 4 * bigboss 16 devel:* @ALL 0 devel:* @devel 8 devel:* bigboss 16 devel:* @marketing 1 devel:funstuff bigboss 0 devel:marketing @marketing 2 marketing:* @marketing 8 start @ALL 1
Si prega di notare che nel file order does not matter. Il file viene analizzato nel suo complesso, then a perfect match for the current page/user combo is searched for. Quando viene trovata una corrispondenza corrispondenza ulteriore viene interrotta. Se non viene trovata una corrispondenza, permessi i di gruppo per la pagina corrente vengono controllati. Se non viene trovata la verifica nel namespace superiore.
Nota: Per configurare gli utenti o gruppi con caratteri speciali (come gli spazi bianchi), you need to URL escape them. This only applies to specialchars in the lower 128 byte range. The ACL file uses UTF-8 encoding so any multibytechars can be written as is.
Nota: Quando si usa $conf['authtype'] = 'ad'; and groups names with spaces needing to be written in the acl.auth.php with a “%5f” replacing the spaces instead of “%20”. This is because Group names with spaces are first converted into underscores “_” which are “%5f”.
Note: The delete permission affects media files only. Pages can be deleted (and restored) by everyone with at least edit permission. Someone who has upload permissions but no delete permissions can not overwrite existing media files anymore.
E 'possibile utilizzare i caratteri utente jolly nelle ACL. Questo può essere utile in un wiki con molti utenti registrati, se si vuole dare ad ogni utente uno spazio personale in cui solo lui/lei abbiano accesso in scrittura, e non modificare le ACL per ogni utente. To accomplish that %USER% is replaced by the username of the currently logged in user.
In the following example a logged in user gains full access (upload/delete) permissions for the user's namespace users:<username>:*
e di revocare tutti gli accessi da altri spazi dei nomi situato nello users:*
In questo caso il login utente ha accesso al proprio spazio utente (namespace) e non ha accesso a spazi di altri utenti (namespaces) (anche per visualizzare i nomi dei namespace).
# # FIXME Grant full access to logged in user's namespace users:%USER%:* %USER% AUTH_DELETE # # FIXME Allow to browse own namespace via INDEX users: %USER% AUTH_READ # # FIXME Allow read only access to start page located in <users> namespace users:start %USER% AUTH_READ # # Disabilita tutti gli accessi FIXME to user's home namespaces non di proprietà dell'utente connesso (includere la vista dei namespaces attraverso la INDEX) users:* @user AUTH_NONE
Nota: versione corrente 2009-12-25c “Lemming” has some caveat. Se si aggiunge, aggiorna o rimuovono le ACL dall’interfaccia grafica di amministrazione allora il motore DokuWiKi sostituirà lo %USER% nel secondo campo ACL di %25USER%25 questo è un bug FS#1955. Per evitare ciò, - cambia i permessi solo manualmente (file: conf/acl.auth.php
) o correggere manualmente dopo ogni operazione dalla ACL dalla GUI perché la maschera %25USER%25 non funziona come previsto, solo %USER% dovrebbe essere utilizzato nella conf/acl.auth.php
.
Nota: Il jolly è stato recentemente modificato da @ a % – se si esegue l'aggiornamento da una versione precedente è necessario regolare la configurazione ACL di conseguenza.