DokuWiki

It's better when it's simple

Strumenti Utente

Strumenti Sito


it:acl

Access Control Lists (ACL)

FIXME 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 …

Configurazione e impostazione di Setup

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.

Vedi anche

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:

Restrizioni di accesso

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.

FIXME 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:

  • Regole che corrispondono più vicino al namespace:page sono da preferite rispetto alle norme che corrispondono alle più lontane – che noi chiamiamo come “specific matching”.
  • Quando più di una regola parte allo stesso livello, la regola che si trova al più alto livello di accesso è preferita.

Gli utenti dei gruppi assegnati allo user manager (o il backend di autenticazione). Tuttavia ci sono due gruppi che sono speciali:

  • @ALL. Tutti, anche gli utenti non loggati, sono membri del gruppo ALL. È possibile utilizzare questo gruppo per limitare l'accesso per tutti gli utenti (come impostazione di default) e poi rilasciare le autorizzazioni solo per gli utenti selezionati
  • @user. Tutti gli utenti di auto-registrati sono di default automaticamente membri del guppo di 'user'. Utilizza questo permesso per dare l'autorizzazione a chi è 'logged-in' utenti. Il nome di questo gruppo viene configurato tramite l'opzione defaultgroup. A differenza del gruppo virtuale “ALL”, il gruppo “user” è realmente un gruppo a cui tutti gli utenti vengono aggiunti automaticamente quando si utilizza il backend di autenticazione. Se si utilizza un backend diverso è necessario utilizzare i gruppi forniti da questo backend.

I gruppi sono rappresentati internamente e nel gestore delle ACL da un prefisso @ che è il carattere del nome del gruppo.

Modifica le ACL

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:

  1. select the namespace or page to restrict from the upper left tree navigation
  2. scegliere dove e a chi si dovrebbe applicare la regola ACL
    • by selecting a known group or user from the dropdown menu
    • oppure selezionando “User:” o “Group:” e inserendo il nome del gruppo o utente nel campo
  3. impostare le autorizzazioni appropriate

Le regole esistenti possono essere modificate o cancellate nella tabella sotto nel gestore ACL.

Esempio di 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:

  1. Questo set di autorizzazioni per tutti nel namespace principale, permette a chiunque di modificare e creare pagine. Tuttavia il caricamento (upload) non è permesso.
  2. L’utente bigboss ha pieni diritti.
  3. Ora l'accesso ristretto per lo (sviluppo) devel del namespace. Nessuno è autorizzato a fare qualsiasi cosa.
  4. Beh, non proprio tutti – diamo i membri del gruppo devel tutti i diritti da qui.
  5. E, naturalmente, all’utente bigboss è consentito – ed è l'unico che può cancellare i file caricati.
  6. E il team di marketing può leggere tutto nel namespace di devel, ma in sola lettura.
  7. Tuttavia i componenti del gruppo (sviluppo) devel non vogliono far vedere al loro capo la pagina funstuff – remember exact pagematches override namespace permissions.
  8. E finalmente il gruppo del marketing è autorizzato a modificare anche la loro pagina devel:marketing.
  9. Poi le autorizzazioni per lo spazio dei nomi (namespace) marketing sono impostate. Tutti i membri del gruppo / / marketing / / sono autorizzati a caricare.
  10. gli altri utenti saranno abbinati con la linea 1 1 in modo che possano comunque creare e modificare i file. bigboss eredita i suoi diritti dalla linea 2 così da poter caricare e cancellare.
  11. L'ultima riga limita infine la pagina iniziale di sola lettura per tutti. Solo i superutenti saranno in grado di modificare quella pagina.

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.

  1. Abby, è un utente normale
    • three rules match (tre regole di match), #1, #2, #4
    • Regola #4 è la più vicina, corrisponde a livello di spazio dei nomi (namespace) per cui ha la precedenza su altri tre
    • abby's permissions level is 0
  2. Bob, un utente normale
    • quattro regole match, #1, #2, #4, #6
    • Regola #6 wins as its an exact match
    • bob's permission level is 16
  3. Bob dimentica il login e tenta di accedere alla sua pagina
    • due regole match, #1 & #4
    • Regola #4 è più vicina e vince
    • il livello di autorizzazione di Bob, quando non connesso è 0
  4. Charlie, un membro dello staff
    • cinque regole match, #1 - #5
    • due regole di match a livello di spazio dei nomi, #5 Charlie dà il permesso superiore in modo da vincere
    • livello di autorizzazione di Charlie è di 16

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.

Informazioni Generali

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:

  • La risorsa da limitare. Questo può essere un (nome di pagina) pagename o di un namespace. I Namespaces sono contrassegnati da un asterisco supplementare (vedere esempi sotto).
  • Un gruppo o nome utente. Nomi di gruppo sono contrassegnati da un eminente @ carattere.
  • A livello di autorizzazione (vedi sotto).

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. FIXME Someone who has upload permissions but no delete permissions can not overwrite existing media files anymore.

Utente caratteri jolly (Wildcards)

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. FIXME To accomplish that %USER% is replaced by the username of the currently logged in user.
FIXME 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.

1)
possono superuser
it/acl.txt · Ultima modifica: 2023-05-16 16:53 da 79.30.3.67

Ad eccezione da dove è diversamente indicato, il contenuto di questo wiki è soggetto alla seguente licenza: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki