Perché posso scrivere file in una cartella di sola lettura?


39

Ho provato questo su Windows 7 e Windows XP. Avviare Esplora risorse e creare una nuova cartella in un percorso temporaneo chiamato (ad esempio) NonWriteable. Fare clic con il tasto destro sulla cartella e impostare le proprietà della cartella su Read-only.

Cartella impostata per essere di sola lettura

Ora apri la cartella e crea un nuovo file .txt. Questo è permesso Perché? Come si imposta una cartella in modo che nulla possa essere modificato al suo interno?

Nota: se faccio clic con il pulsante destro del mouse sul file .txt e lo imposto su, Read-onlyil sistema impedisce correttamente gli aggiornamenti del file.


3
Controlla le opzioni avanzate e nega attivamente le autorizzazioni di scrittura. Che tipo di account stai usando? Un account amministrativo dovrebbe sempre essere in grado di cambiare le cose.
Seth,

@Seth Un account amministrativo dovrebbe essere sempre in grado di cambiare le cose? Cosa succede se si sta tentando di accedere a una cartella su un altro computer?
InterLinked

2
Windows sembra non aver mai usato questa impostazione per le directory. Se si trova all'interno di un'unità condivisa, scoprirai che Linux non sarà in grado di creare, eliminare o rinominare i file se non è deselezionato.
AFH,

2
@Seth: buona chiamata. Dopo aver modificato le autorizzazioni avanzate nella Securityscheda per negare l'accesso Create Files / Write Data, ora non riesco a creare nuovi file. Questo sembra essere un bug / limitazione di Windows. Se chiamo a livello di codice l' GetFileAttributesAPI sulla cartella, l' FILE_ATTRIBUTE_DIRECTORYattributo è impostato ... ma non FILE_ATTRIBUTE_READONLY.
AlainD,

2
Si noti che a partire da Windows 7, la finestra di dialogo è stata modificata Read-only (Only applies to files in this folder)per rendere più chiaro ciò che questa opzione effettivamente fa. C'è uno screenshot della nuova finestra di dialogo in questa risposta .
ComicSansMS

Risposte:


56

A differenza dell'attributo di sola lettura per un file, l'attributo di sola lettura per una cartella viene in genere ignorato da Windows, componenti e accessori di Windows e altri programmi. Ad esempio, è possibile eliminare, rinominare e modificare una cartella con l'attributo Sola lettura utilizzando Esplora risorse.

Gli attributi di sola lettura e di sistema vengono utilizzati solo da Esplora risorse per determinare se la cartella è una cartella speciale, ad esempio una cartella di sistema che ha una visualizzazione personalizzata da Windows (ad esempio, Documenti, Preferiti, Caratteri, File di programma scaricati) o una cartella personalizzata utilizzando la scheda Personalizza della finestra di dialogo Proprietà della cartella. Di conseguenza, Esplora risorse non consente di visualizzare o modificare gli attributi di sola lettura o di sistema delle cartelle. Quando una cartella ha l'attributo Sola lettura impostata, Explorer richiede a Desktop.ini di quella cartella di vedere se è necessario impostare delle impostazioni speciali della cartella.

Fonte: https://support.microsoft.com/en-gb/help/326549/you-cannot-view-or-change-the-read-only-or-the-system-attributes-of-fo

Questo è un vecchio articolo ma è ancora vero per tutte le versioni di Windows.

Per impedire la creazione di file in una cartella, modificare le autorizzazioni utilizzando la Securityscheda nelle proprietà della cartella. Fai clic sul Advancedpulsante e aggiungi una regola a cui negare l'accesso Create Files / Write Data.


1
@AlainD Sì. È un vecchio articolo ma si applica ancora alle versioni più recenti di Windows. Tornerò ed espanderò la risposta più tardi.
David Marshall,

1
Quindi l'attributo "sola lettura" di una cartella non ha assolutamente nulla a che fare con la sola lettura? Non è altro che un grande fallimento della UX?
Pedro A

6
@Hamsteriffic È un'eredità di un filesystem FAT. FAT utilizzato per supportare solo pochi attributi di file, tra cui RO. NTFS presenta un sofisticato meccanismo ACL per il controllo degli accessi, quindi gli attributi FAT non sono importanti quando si utilizza NTFS. Tuttavia, il particolare dialogo in questione è stato progettato molti anni fa, quando il FAT era ancora prevalente e da allora non è mai cambiato.
Oakad,

4
@Hamsteriffic Quindi, per riassumere il commento di Oakads: Sì.
Alexander Kosubek,

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.