Objectif: un dossier partagé dans lequel les utilisateurs peuvent créer des fichiers sans les modifier ni les supprimer. Les utilisateurs devraient également pouvoir créer des sous-dossiers.
J'ai accordé à mon groupe de sécurité les autorisations NTFS avancées suivantes:
- Dossier transversal / fichier d'exécution
- Liste des dossiers / lecture des données
- Lire les attributs
- Lire les attributs étendus
- Créer des fichiers / écrire des données
- Lire les autorisations
Grâce à un processus d'essais et d'erreurs, j'ai constaté qu'en n'accordant pas d '«attributs d'écriture», cela a pour effet d'empêcher un utilisateur de modifier / supprimer des fichiers existants (ce que je veux). Cependant, je voudrais vraiment une explication pour savoir précisément pourquoi cela fonctionne. La seule théorie que j'ai est que la suppression / modification d'un fichier modifie les attributs du fichier? Voici une discussion dans le même sens .
EDIT - La deuxième partie de ma question n'est pas pertinente, je pensais que j'avais uniquement sélectionné «Créer des fichiers / Écrire des données» mais j'avais également sélectionné «Créer des dossiers / Ajouter des données».
De plus, je veux que les utilisateurs puissent créer des sous-dossiers à la racine, et j'ai trouvé qu'en accordant 'Créer des fichiers / Écrire des données', cela permet cela. Mais encore une fois, le nom suggère que cette autorisation devrait simplement permettre la création de fichiers, pas de dossiers, donc je ne comprends pas pourquoi cela fonctionne? L'explication de Microsoft de l'attribut «Créer des fichiers / écrire des données» est «Pour les dossiers, spécifie si un utilisateur peut créer des fichiers dans le dossier. Pour les fichiers, spécifie si un utilisateur peut modifier des fichiers ou écraser des données». Il n'y a aucune mention de la possibilité de créer des sous-dossiers dans un dossier?
Donc, fondamentalement, j'ai réalisé ce que je me suis proposé de faire, mais je ne comprends pas pourquoi cela fonctionne?
la source
Réponses:
Il s'agit précisément de la façon dont une modification de fichier se produit. Lorsque vous modifiez un fichier, le système d'exploitation ne modifie pas réellement le fichier que vous modifiez. Il remplace le fichier que vous modifiez par la copie que vous avez modifiée. Donc, essentiellement, une modification de fichier prend une copie du fichier d'origine, la charge en mémoire (où vous la modifiez), supprime le fichier d'origine et crée un nouveau fichier avec le même nom au même endroit. C'est pourquoi les
Delete
autorisations NTFS sont nécessaires pour modifier des fichiers - en fait, si vous vérifiezAdvanced permissions
sur un objet NTFS, il n'y a pas d'Modify
autorisation - une modification est vraiment juste une suppression et une écriture.Donc, pour créer cette nouvelle copie d'un fichier, il doit écrire les attributs de fichier de ce nouveau fichier ... et, bien sûr, l'écriture d'attributs nécessite l'
Write attributes
autorisation NTFS. C'est pourquoi vous ne pouvez pas modifier un fichier sans avoir l'Write attributes
autorisation NTFS.Plus précisément, grâce à une conversation avec Fitzroy , l' attribut de fichier NTFS qui doit être écrit sous le contexte de sécurité de l'utilisateur (qui ne peut pas l'être sans l'
Write Attributes
autorisation), lors de la modification d'un fichier, mais pas lors de la création d'un tout nouveau, serait être le fichierLastModificationTime
. Cela fait partie de l'Standard Information
attribut, selon l'un des développeurs de Microsoft Core Team .la source
C'est vrai: le fait de ne pas avoir la permission 'Write Attributes' empêche l'utilisateur de modifier ses fichiers. Et selon la documentation de Microsoft, cela n'a aucun sens. Mais la modification d' un fichier n'implique pas sa suppression et sa recréation. Lorsqu'une application ouvre un fichier pour modification, le système d'exploitation ne supprime pas le fichier. Mais, ce que le système d'exploitation fait est de verrouiller le fichier pour empêcher la modification simultanée. Je suppose que le verrouillage du fichier relève du concept de «modification des attributs de fichier». Par conséquent, le fait de ne pas pouvoir modifier les attributs entraîne le fait de ne pas pouvoir modifier le fichier.
Pour la deuxième partie de votre question, je ne peux pas reproduire cela. Il existe deux autorisations différentes qui s'appliquent à un dossier: 'Créer des fichiers / ...' et 'Créer des dossiers / ...' et elles ont fonctionné selon la documentation lors de mes tests.
la source