Question Autorisations NTFS - Créer des fichiers et des dossiers mais empêcher la suppression et la modification


Objectif: Un dossier partagé dans lequel les utilisateurs peuvent créer des fichiers sans les modifier ou les supprimer. Les utilisateurs doivent également pouvoir créer des sous-dossiers.

J'ai accordé à mon groupe de sécurité les autorisations NTFS avancées suivantes:

  • Traverse Folder / Execute File
  • Liste de dossiers / Lire des données
  • Lire les attributs
  • Lire les attributs étendus
  • Créer des fichiers / écrire des données
  • Autorisations de lecture

Par un processus d’essai et d’erreur, j’ai constaté que par NE PAS l'octroi d'attributs d'écriture a pour effet d'empêcher un utilisateur de modifier / supprimer des fichiers existants (ce que je veux). Cependant, j'aimerais vraiment une explication précise de la raison pour laquelle 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, j’ai pensé que je n’avais sélectionné que «Create Files / Write Data» (Créer des fichiers / écrire des données), mais aussi «Créer des dossiers / Ajouter des données».

De plus, je souhaite que les utilisateurs puissent créer des sous-dossiers au sein de la racine, et j'ai constaté qu'en accordant «Créer des fichiers / écrire des données», cela le permettait. 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? Explication de Microsoft de l'attribut 'Create Files / Write Data' 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 atteint ce que je voulais faire mais je ne comprends pas pourquoi cela fonctionne?


8
2018-04-25 12:10


origine


Le contenu d'un fichier NTFS est un "attribut"; à savoir l'attribut de données non nommé par défaut et peut-être un ou plusieurs attributs de données nommés. - kreemoweet
Voir aussi la bonne réponse ici: superuser.com/a/1145363/132727 - CrazyTim


Réponses:


Grâce à un processus d’essai et d’erreur, j’ai constaté qu’en ne donnant PAS les attributs d’écriture, cela empêchait un utilisateur de modifier / supprimer des fichiers existants (ce que je veux). Cependant, j'aimerais vraiment une explication précise de la raison pour laquelle cela fonctionne.

Ceci est fonction de la précision Comment 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 éditez avec la copie que vous avez modifiée. Ainsi, 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 portant le même nom au même endroit. C'est pourquoi NTFS Delete des autorisations sont nécessaires pour modifier les fichiers - en fait, si vous vérifiez la Advanced permissions sur un objet NTFS, il n'y a pas Modify permission - une modification est vraiment 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 des attributs nécessite la Write attributes Autorisation NTFS. Donc, c'est pourquoi vous ne pouvez pas modifier un fichier sans avoir le Write attributesAutorisation NTFS.

Plus précisément, grâce à une conversation avec Fitzroy, la Attribut de fichier NTFS qui doit être écrit dans le contexte de sécurité de l'utilisateur (qui ne peut pas être, sans le Write Attributes l'autorisation), lors de la modification d'un fichier, mais pas lors de la création d'un tout nouveau, serait le des dossiers LastModificationTime. C'est une partie de la Standard Information attribut, selon l'un des développeurs Microsoft Core Team.


4
2018-04-25 14:16



"C'est la raison pour laquelle les autorisations de suppression NTFS sont requises pour modifier les fichiers - en fait, si vous cochez les autorisations avancées sur un objet NTFS, il n'y a pas de permission de modification - une modification est vraiment une suppression et une écriture." Pouvez-vous soutenir cela avec des faits ou des références? Parce que grâce à des tests supplémentaires, j'ai trouvé que pour modifier le contenu d'un simple fichier texte (en utilisant le bloc-notes), je venais d'ajouter les autorisations suivantes: Attributs d'écriture, Attributs étendus d'écriture et Créer des dossiers / Ajouter des données. J'accepte que différents programmes puissent avoir un comportement différent lors de la modification d'un fichier ... - Fitzroy
... cependant, je pense que ce test prouve que "Supprimer" n'est pas requis. - Fitzroy


C'est vrai: ne pas avoir l'autorisation 'Attributs en écriture' empêche l'utilisateur de modifier ses fichiers. Et selon la documentation de Microsoft, cela n'a aucun sens. Mais modifier un fichier n'implique pas la suppression et recréation de celui-ci. Lorsqu'une application ouvre un fichier pour modification, le système d'exploitation ne supprime pas le fichier. Mais le système d'exploitation verrouille le fichier pour empêcher toute modification simultanée. Je suppose que le verrouillage du fichier relève du concept de «modification des attributs de fichier». Ainsi, ne pas pouvoir modifier les attributs ne permet pas de modifier le fichier.

Pour la deuxième partie de votre question, je ne peux pas reproduire cela. Deux autorisations différentes s'appliquent à un dossier: "Créer des fichiers / ..." et "Créer des dossiers / ..." et elles ont fonctionné conformément à la documentation lors de mes tests.


2
2018-04-25 13:22



Drk - Juste digérer votre réponse. FYI - J'ai omis une permission dans ma question, j'aurais aussi dû indiquer "Lire les attributs étendus". Sans cette autorisation, j'ai constaté que les utilisateurs ne pouvaient pas voir le contenu d'un fichier (ils obtiennent une erreur "Accès refusé"). J'ai mis à jour ma question en conséquence. - Fitzroy
Ok, pour mon test, j'ai supposé que vous accordiez cette permission aussi. Je l'ai trouvé bloc-notes ne peut pas modifier un fichier même avec l'autorisation '... / write data' accordée. Voici une autre chose à noter: l'écriture de données par rapport à la permission d'ajout de données dépend de la manière dont votre application ouvre le fichier pour modification. Le plus probablement le notepad ouvre des fichiers pour ajouter des données toujours, même si pas nécessaire. - drk.com.ar
Pour la deuxième partie de votre question, je ne peux pas reproduire cela. Deux autorisations différentes s'appliquent à un dossier: "Créer des fichiers / ..." et "Créer des dossiers / ..." et elles ont fonctionné conformément à la documentation lors de mes tests. Vous avez tout à fait raison, mon erreur, je pensais que j'avais seulement sélectionné «Créer des fichiers / écrire des données» mais que j'avais aussi «Créer des dossiers / Ajouter des données» également. - Fitzroy