Pourquoi puis-je écrire des fichiers dans un dossier en lecture seule?

39

J'ai essayé cela sous Windows 7 et Windows XP. Démarrez l'Explorateur Windows et créez un nouveau dossier dans un emplacement temporaire appelé (par exemple) NonWriteable. Cliquez avec le bouton droit sur le dossier et définissez les propriétés du dossier sur Read-only.

Dossier défini pour être en lecture seule

Ouvrez maintenant le dossier et créez un nouveau fichier .txt. Ceci est permis. Pourquoi? Comment définir un dossier afin que rien ne puisse être modifié à l'intérieur?

Remarque: Si je clique avec le bouton droit sur le fichier .txt et que je le configure sur, Read-onlyle système empêche correctement les mises à jour du fichier.

AlainD
la source
3
Vérifiez les options avancées et refusez activement les autorisations d'écriture. Quel type de compte utilisez-vous? Un compte administratif devrait toujours pouvoir changer les choses.
Seth
@Seth Un compte administratif devrait toujours pouvoir changer les choses? Et si on essaye d'accéder à un dossier sur une autre machine?
InterLinked
2
Windows ne semble jamais avoir utilisé ce paramètre pour les répertoires. S'il se trouve dans un lecteur partagé, vous constaterez que Linux ne pourra pas créer, supprimer ou renommer des fichiers à moins que la lecture seule ne soit effacée.
AFH
2
@Seth: bon appel. Après avoir modifié les autorisations avancées sur l' Securityonglet pour refuser l'accès Create Files / Write Data, je ne peux plus créer de nouveaux fichiers. Cela semble être un bug / limitation de Windows. Si j'appelle par programme l' GetFileAttributesAPI sur le dossier, l' FILE_ATTRIBUTE_DIRECTORYattribut est défini ... mais pas FILE_ATTRIBUTE_READONLY.
AlainD
2
Notez que, à partir de Windows 7, la boîte de dialogue a été modifiée pour Read-only (Only applies to files in this folder)préciser le rôle de cette option. Il y a une capture d'écran de la nouvelle boîte de dialogue dans cette réponse .
ComicSansMS

Réponses:

56

Contrairement à l'attribut en lecture seule d'un fichier, l'attribut en lecture seule d'un dossier est généralement ignoré par Windows, les composants et accessoires Windows, ainsi que par d'autres programmes. Par exemple, vous pouvez supprimer, renommer et modifier un dossier avec l'attribut Lecture seule à l'aide de l'Explorateur Windows.

Les attributs Lecture seule et Système sont uniquement utilisés par l'Explorateur Windows pour déterminer si le dossier est un dossier spécial, tel qu'un dossier système dont l'affichage est personnalisé par Windows (par exemple, Mes documents, Favoris, Polices, Fichiers programme téléchargés). , ou un dossier que vous avez personnalisé à l'aide de l'onglet Personnaliser de la boîte de dialogue Propriétés du dossier. Par conséquent, l'Explorateur Windows ne vous permet pas d'afficher ou de modifier les attributs Lecture seule ou Système des dossiers. Lorsque l'attribut Lecture seule est défini dans un dossier, Explorer demande au fichier Desktop.ini de ce dossier de voir si des paramètres de dossier spéciaux doivent être définis.

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

Cet article est ancien, mais il l'est toujours pour toutes les versions de Windows.

Pour empêcher la création de fichiers dans un dossier, modifiez les autorisations à l'aide de l' Securityonglet dans les propriétés du dossier. Cliquez sur le Advancedbouton et ajoutez une règle à laquelle refuser l'accès Create Files / Write Data.

David Marshall
la source
1
@ AlainD Oui. C'est un ancien article, mais il s'applique toujours aux nouvelles versions de Windows. Je reviendrai et développerai la réponse plus tard.
David Marshall
1
Ainsi, l'attribut "lecture seule" d'un dossier n'a absolument rien à voir avec le fait qu'il soit en lecture seule? N’est-ce rien de plus qu’un échec de la part de l’UX?
Pedro
6
@Hamsteriffic C'est un héritage d'un système de fichiers FAT. FAT ne supportait que peu d'attributs de fichier, RO étant l'un d'entre eux. NTFS comporte un mécanisme ACL sophistiqué pour le contrôle d'accès. Par conséquent, les attributs FAT n'ont aucune importance lorsque NTFS est utilisé. Cependant, le dialogue en question a été conçu il y a de nombreuses années, alors que la FAT était encore répandue et n'a jamais changé depuis.
oakad
4
@Hamsteriffic Donc, pour résumer Oakads comment: Oui.
Alexander Kosubek
2
@jrh Il en a écrit un en 2003 blogs.msdn.microsoft.com/oldnewthing/20030930-00/?p=42353
David Marshall