Autorizzazioni e attributi dei file di Windows


15

Sono un po 'confuso sull'intero schema di sicurezza dei file di Windows. Vengo da uno sfondo unix, quindi non capisco completamente la relazione tra le autorizzazioni dei file / le impostazioni di sicurezza e gli attributi; specificamente di sola lettura, che può avere un file.

Ad esempio, se accedo come amministratore nella mia casella e ho un file che consente il controllo completo per gli amministratori, ma ha l'attributo di sola lettura impostato, significa che non posso scrivere su quel file? Esiste un modo oltre a rimuovere l'attributo di sola lettura che posso scrivere su file su cui presumibilmente ho il pieno controllo? In caso contrario, qual è il vantaggio di avere il pieno controllo se non si ha il pieno controllo?


1
Domanda fantastica
Jim B,

Gli attributi dei file di Windows sono analoghi alle bandiere dei file Unix
Chris S,

L'ho modificato per
renderlo

In realtà è possibile essere diversi nel 2012 e fino
Jim B,

Risposte:


16

Le autorizzazioni per i file determinano l'accesso a un file, proprio come sembra. Il controllo completo consente di creare, eliminare, aggiungere, modificare autorizzazioni, modificare attributi, ecc.

I file e le cartelle possono avere attributi aggiuntivi, proprio come i file sulla maggior parte dei filesystem * nix. "Hidden" viene in mente come esempio su entrambe le piattaforme.

Su Windows, alcuni degli attributi aggiuntivi includono sistema, sola lettura, archivio, crittografato e compresso. Quando hai il pieno controllo (o modifica) hai la possibilità di cambiare questi attributi, ma come hai scoperto, un file di sola lettura è di sola lettura, anche per qualcuno con il pieno controllo. Mentre il pieno controllo ti dà la possibilità di modificare gli attributi di un file, non li sovrascrive automaticamente, proprio come lsnon mostra all'utente root un file nascosto per impostazione predefinita su * nix.


Non esiste un file NTFS "nascosto" che utilizza un attributo. I file possono essere nascosti utilizzando i flussi. NTFS supporta tutti gli attributi richiesti da qualsiasi applicazione utilizzando il campo degli attributi estesi ($ EA), motivo per cui è possibile archiviare le autorizzazioni dei file unix in un filesystem NTFS
Jim B

6
Non ho detto che "nascosto" è una funzione di NTFS ovunque, ma "nascosto" è sicuramente un attributo che puoi impostare su un file o una cartella. Non ho davvero idea di quale sia il punto che stai cercando di chiarire.
MDMarra,

Cos'è questo attributo nascosto su Unix?
Edward Thomson,

Hidden è stato probabilmente un cattivo esempio ma ha illustrato il mio punto. Non esiste un attributo "nascosto" di per sé, ma solo file che hanno il prefisso con un punto. Gli attributi dei file di Windows in questione sono in realtà più simili a quelli dei flag di file in unix: freebsd.org/cgi/man.cgi?query=chflags&sektion=1 .
MDMarra,

4

Un'autorizzazione è un controllo di sicurezza. Un attributo si applica indipendentemente dall'entità di sicurezza che sta tentando l'operazione.

Ci sono molti più attributi di quelli che vedi al prompt dei comandi. Questi includono se il file è un collegamento, crittografato, una directory (un tipo di file) e l'integrità (bassa, media o alta).

Costanti di attributi di file
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

Un file o una directory che è un file o una directory di archivio. Le applicazioni in genere utilizzano questo attributo per contrassegnare i file per il backup o la rimozione.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

Un file o una directory compressi. Per un file, tutti i dati nel file sono compressi. Per una directory, la compressione è l'impostazione predefinita per i file e le sottodirectory appena creati.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

Questo valore è riservato per l'uso del sistema.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

L'handle che identifica una directory.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

Un file o una directory crittografati. Per un file, tutti i flussi di dati nel file sono crittografati. Per una directory, la crittografia è l'impostazione predefinita per i file e le sottodirectory appena creati.

FILE_ATTRIBUTE_HIDDEN2 (0x2) Il file o la directory sono nascosti. Non è incluso in un normale elenco di directory.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

Il flusso di dati della directory o dell'utente è configurato con integrità (supportato solo sui volumi ReFS). Non è incluso in un normale elenco di directory. L'impostazione di integrità persiste con il file se viene rinominato. Se un file viene copiato, il file di destinazione avrà impostato integrità se il file di origine o la directory di destinazione hanno impostato integrità.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo flag non è supportato fino a Windows Server 2012.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

Un file che non ha altri attributi impostati. Questo attributo è valido solo se utilizzato da solo.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

Il file o la directory non devono essere indicizzati dal servizio di indicizzazione del contenuto.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

Il flusso di dati dell'utente non deve essere letto dallo scanner di integrità dei dati in background (scrubber AKA). Se impostato su una directory fornisce solo ereditarietà. Questo flag è supportato solo su Spazi di archiviazione e volumi ReFS. Non è incluso in un normale elenco di directory.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 e Windows XP: questo flag non è supportato fino a Windows 8 e Windows Server 2012.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

I dati di un file non sono immediatamente disponibili. Questo attributo indica che i dati del file vengono spostati fisicamente nella memoria offline. Questo attributo viene utilizzato da Archiviazione remota, che è il software di gestione dell'archiviazione gerarchica. Le applicazioni non devono modificare arbitrariamente questo attributo.

FILE_ATTRIBUTE_READONLY 1 (0x1)

Un file di sola lettura. Le applicazioni possono leggere il file, ma non possono scriverlo o eliminarlo. Questo attributo non è onorato nelle directory. Per ulteriori informazioni, vedere Non è possibile visualizzare o modificare gli attributi di sola lettura o di sistema delle cartelle in Windows Server 2003, Windows XP, Windows Vista o Windows 7.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

Un file o una directory a cui è associato un punto di analisi o un file che è un collegamento simbolico.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

Un file che è un file sparse.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

Un file o una directory di cui il sistema operativo utilizza o utilizza esclusivamente una parte.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

Un file utilizzato per l'archiviazione temporanea. I file system evitano di riscrivere i dati nella memoria di massa se è disponibile memoria cache sufficiente, poiché in genere un'applicazione elimina un file temporaneo dopo la chiusura dell'handle. In quello scenario, il sistema può evitare del tutto di scrivere i dati. Altrimenti, i dati vengono scritti dopo la chiusura dell'handle.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

Questo valore è riservato per l'uso del sistema.


Questo non risponde esattamente alla domanda. Si chiedevano perché la sola lettura stesse superando il privilegio del "pieno controllo". Questi attributi sono utilizzati nei programmi.
Nathan C,

1
Hai anche mescolato attributi FAT-Style e NTFS - non è più che c'è una grande differenza, ma ci sono momenti in cui è fondamentale differenziare.
Chris S,

1
@Nathan C. Anche questo risponde esattamente alla domanda. Sola lettura non sostituisce il pieno controllo. Come dice la risposta "Un attributo si applica indipendentemente dall'entità di sicurezza che sta tentando l'operazione." Tuttavia, come ha sottolineato Chris S, gli attributi legacy opzionali vengono mescolati con gli attributi NTFS.
Jim B,

-6

Fornirò una risposta più lunga, ma in generale gli attributi a cui ti riferisci sono impostazioni legacy su un file dai giorni del filesystem FAT DOS. FAT memorizza questi attributi come parte delle voci della directory del filesystem per un file. NTFS ha il proprio set di attributi che incapsulano gli attributi più vecchi. Per impostazione predefinita, qualsiasi utente con accesso ai file può modificarli e può essere utilizzato per impedire sovrascritture accidentali di dati.

Le autorizzazioni sono specifiche NTFS e le modifiche a tali autorizzazioni possono essere controllate in base all'utente (in modo che un utente non possa passare dalla sola lettura alla scrittura). In particolare, se si dovesse guardare il comando attrib (che mostra sia l'eredità sia le nuove aggiunte di attributi come l'integrità nelle versioni successive di Windows) è possibile avere l'accesso in sola lettura impostato nelle autorizzazioni ma non solo impostato negli attributi. È anche interessante (se non importante) capire che a causa dell'astrazione è tecnicamente possibile abilitare gli attributi legacy (memorizzati nell'attributo NTFS $ standard_information) senza che questi vengano necessariamente visualizzati nella normale GUI.

In particolare, le autorizzazioni di controllo completo consentono di modificare qualsiasi autorizzazione NTFS. L'impostazione dell'attributo di sola lettura impedisce le modifiche finché non viene rimosso.

Gli attributi FAT avranno la precedenza sugli attributi NTFS in Windows.


3
in general attributes are legacy settings- Hai una fonte per questo, perché credo che questa affermazione sia errata. Sono gratuiti per le autorizzazioni del filesystem - non sono stati sostituiti o sostituiti da loro. Non c'è nulla nelle autorizzazioni standard che sostituisca la funzionalità di nascosto, archivio o sistema.
MDMarra,

1
Any user can modify them and can be used to prevent accidental overwrites of data.Inoltre, questo è di fatto errato. Solo gli utenti con "attributo di scrittura" su un file o una directory possono modificare gli attributi su quell'oggetto.
MDMarra,


2
Jim, ti preghiamo di dedicare un minuto a guardare questo dall'inizio. Sei andato così lontano in questa tana del coniglio "attributo NTFS" che hai dimenticato di essere l'unico a parlare degli attributi NTFS. L'OP sta chiaramente parlando di attributi di file globali come "Nascosto" e "Sola lettura". Menziona esplicitamente "Sola lettura" nella domanda. Non so dire se stai cercando di essere pedante e fallito o se ti sei perso legittimamente questo punto. Sì, sappiamo, gli attributi NTFS (estesi) non sono gli stessi degli attributi di file / cartella globali (stile FAT). Nessuno lo afferma.
MDMarra,

3
Penso che tu abbia chiaramente perso lo spirito e l'intento di questa domanda e stai cercando di prendere una posizione che è una parte errata e una parte inutile. Hai chiaramente dimostrato di avere una comprensione di come funzionano gli attributi NTFS, tuttavia nessuno li stava chiedendo e nessuno li ha usati in una risposta in primo luogo. Se stavi cercando di mostrare la tua conoscenza degli attributi NTFS, hai fatto bene. Il problema è che hai completamente perso il punto della domanda.
MDMarra,
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.