Spiegare l'output di ICACLS.EXE, riga per riga, elemento per elemento


16

Cosa significa questo:

C:\foo\> icacls .
. NT AUTHORITY\IUSR:(M)
  BUILTIN\IIS_IUSRS:(M)
  BUILTIN\IIS_IUSRS:(OI)(CI)(M)
  NT AUTHORITY\IUSR:(OI)(CI)(M)
  BUILTIN\IIS_IUSRS:(I)(OI)(CI)(RX)
  NT AUTHORITY\IUSR:(I)(OI)(CI)(RX)
  NT AUTHORITY\SYSTEM:(I)(OI)(CI)(F)
  BUILTIN\Administrators:(I)(OI)(CI)(F)

Penso che il primo significhi che userid ottenga le autorizzazioni di modifica sulla directory, il che significa che l'utente può creare file o aggiornare file o eliminare file. Giusto? Che cos'è l'utente "NT AUTHORITY \ IUSR"? È davvero un singolo ID utente? È l'ID utente IIS predefinito?

ok, la seconda riga penso si riferisca a un gruppo. Ottiene le stesse autorizzazioni.

Che dire di tutte quelle righe con (I) e (OI) e così via. Spiega per favore.

Risposte:


24

Dalla Microsoft Articolo su ICACLS

Le voci sono utenti e gruppi specifici per quel file (DOMINIO \ UTENTE o GRUPPO), le autorizzazioni elencate sono le seguenti:

I SID possono essere in formato numerico o descrittivo. Se si utilizza un modulo numerico, applicare il carattere jolly * all'inizio del SID.

icacls conserva l'ordine canonico delle voci ACE come:

  • Rifiuti espliciti
  • Sovvenzioni esplicite
  • Negazioni ereditate
  • Sovvenzioni ereditate

Perm è una maschera di autorizzazione che può essere specificata in uno dei seguenti moduli:

  1. Una sequenza di diritti semplici:
    • F (accesso completo)
    • M (modifica accesso)
    • RX (accesso in lettura ed esecuzione)
    • R (accesso di sola lettura)
    • W (accesso di sola scrittura)
  2. Un elenco separato da virgole tra parentesi di diritti specifici:
    • D (elimina)
    • RC (controllo di lettura)
    • WDAC (scrivere DAC)
    • WO (proprietario della scrittura)
    • S (sincronizza)
    • AS (accesso alla sicurezza del sistema)
    • MA (massimo consentito)
    • GR (lettura generica)
    • GW (scrittura generica)
    • GE (esecuzione generica)
    • GA (generico tutto)
    • RD (leggi directory dati / elenco)
    • WD (scrivi dati / aggiungi file)
    • AD (aggiungi dati / aggiungi sottodirectory)
    • REA (leggi attributi estesi)
    • WEA (scrivere attributi estesi)
    • X (esegui / attraversa)
    • DC (elimina figlio)
    • RA (leggi attributi)
    • WA (scrivere attributi)

I diritti di eredità possono precedere entrambi i moduli Perm e si applicano solo alle directory:

  • (OI) : eredità oggetto
  • (CI) : eredità del contenitore
  • (IO) : solo ereditare
  • (NP) : non propagare l'ereditarietà
  • (I) : autorizzazione ereditata dal contenitore padre

Per i file, le maschere di autorizzazione sono più o meno autoesplicative: Rsignifica che è possibile leggere il file, Xconsentirne l'esecuzione (come programma) e così via.

Per altri tipi di oggetti, dovrai navigare in MSDN:

Diritti di eredità in inglese:

  • (I) "Ereditato": questo ACE è stato ereditato dal contenitore padre.
  • (OI) "Eredità degli oggetti": questo ACE verrà ereditato dagli oggetti inseriti in questo contenitore.
  • (CI) "Eredità del contenitore": questo ACE verrà ereditato dai subcontenitori inseriti in questo contenitore.
  • (IO)"Solo eredita": questo ACE verrà ereditato (vedi OIe CI), ma non si applica a questo oggetto stesso.
  • (NP)"Non propagare": questo ACE sarà ereditato da oggetti e subcontenitori a un livello di profondità - non si applicherà alle cose all'interno dei subcontenitori.

Per il file system, "contenitore" significa una cartella e "oggetto" significa un file, ma ricorda che gli ACL possono essere impostati su molti altri tipi di oggetti, non tutti i quali hanno un concetto di "contenitori".


1
grazie. Sono letterato su Google e so leggere. Ma vorrei una spiegazione in inglese di cosa significhi avere (I) RX. "container eredit" - spiega cosa significa ed è specifico dell'esempio che ho fornito.
Cheeso,

In tal caso, è necessario un corso intensivo nelle autorizzazioni NTFS.
surfasb,

1
Se sei un esperto di Google, puoi utilizzare Google "autorizzazioni NTFS", "ACL" e "Autorizzazione file e registro". Francamente, spiegare ogni riga in termini di profani è essenzialmente riscrivere un intero articolo Technet per te.
surfasb,

3
Un anno dopo ... Sì. Molto meglio grazie. Quanto agli altri che dicono: "Vai a leggerlo", ecco a cosa serve Superuser, no? Per rispondere a domande a cui non è stata data una risposta chiara altrove.
Cheeso,

1
In realtà l'ho trovato (I)menzionato in icacls /?Windows 7. Aveva anche due diritti "Elimina" separati - in (D)precedenza era presente nel primo elenco, con (DE)invece nel secondo elenco. Vedi ss64.com/nt/icacls.html . Sembra che le cose siano leggermente cambiate da allora.
mwfearnley,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.