Autorisations et attributs des fichiers Windows

15

Je suis quelque peu confus au sujet de l'ensemble du système de sécurité des fichiers Windows. Je viens d'un arrière-plan Unix, donc je ne comprends pas complètement la relation entre les autorisations de fichiers / paramètres de sécurité et les attributs; spécifiquement en lecture seule, qu'un fichier peut avoir.

Par exemple, si je me connecte en tant qu'administrateur dans ma boîte et que j'ai un fichier qui permet un contrôle total pour les administrateurs, mais dont l'attribut en lecture seule est défini, cela signifie que je ne peux pas écrire dans ce fichier? Existe-t-il un moyen autre que la suppression de l'attribut en lecture seule que je peux écrire dans des fichiers sur lesquels je suis censé avoir un contrôle total? Sinon, quel est l'avantage d'avoir un contrôle total si vous n'en avez pas vraiment le contrôle?

prélique
la source
1
Question fantastique
Jim B
Les attributs de fichiers Windows sont analogues aux indicateurs de fichiers Unix
Chris S
J'ai modifié cela pour être plus générique, car ces principes s'appliquent à toutes les versions modernes de Windows, pas seulement au serveur 2003.
MDMarra
Son fait possible d'être différent en 2012 et jusqu'à
Jim B

Réponses:

16

Les autorisations sur les fichiers déterminent quel accès vous avez à un fichier - tout comme cela sonne. Un contrôle total vous permet de créer, supprimer, ajouter, modifier les autorisations, modifier les attributs, etc.

Les fichiers et les dossiers peuvent avoir des attributs supplémentaires, tout comme les fichiers sur la plupart des systèmes de fichiers * nix. "Caché" vient à l'esprit comme un exemple de cela sur les deux plates-formes.

Sous Windows, certains des attributs supplémentaires incluent le système, la lecture seule, l'archivage, le chiffrement et la compression. Lorsque vous avez un contrôle total (ou modifiez), vous avez la possibilité de modifier ces attributs, mais comme vous l'avez découvert, un fichier en lecture seule est en lecture seule, même pour quelqu'un avec un contrôle total. Bien que le contrôle total vous donne la possibilité de modifier les attributs d'un fichier, il ne les remplace pas automatiquement, tout comme lsne montre pas à l'utilisateur root un fichier caché par défaut sur * nix.

MDMarra
la source
Il n’existe pas de fichier NTFS «caché» utilisant un attribut. Les fichiers peuvent être masqués à l'aide de flux. NTFS prend en charge tous les attributs requis par n'importe quelle application en utilisant le champ d'attributs étendus ($ EA), c'est pourquoi vous pouvez stocker les autorisations de fichiers Unix dans un système de fichiers NTFS
Jim B
6
Je n'ai pas dit que "caché" est une fonction de NTFS n'importe où, mais "caché" est très certainement un attribut que vous pouvez définir sur un fichier ou un dossier. Je n'ai vraiment aucune idée de l'argument que vous essayez de faire valoir.
MDMarra
Quel est cet attribut caché sur Unix?
Edward Thomson
Caché était peut-être un mauvais exemple mais illustrait mon propos. Il n'y a pas d'attribut "caché" en soi, juste des fichiers qui sont préfixés par un point. Les attributs de fichier Windows en question sont en fait plus proches de quelque chose comme des indicateurs de fichier sous Unix: freebsd.org/cgi/man.cgi?query=chflags&sektion=1 .
MDMarra
4

Une autorisation est un contrôle de sécurité. Un attribut s'applique quel que soit le principal de sécurité tentant l'opération.

Il y a beaucoup plus d'attributs que ce que vous voyez à l'invite de commande. Ceux-ci incluent si le fichier est un lien, chiffré, un répertoire (un type de fichier) et l'intégrité (faible, moyen ou élevé).

Constantes d'attribut de fichier
http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117%28v=vs.85%29.aspx

FILE_ATTRIBUTE_ARCHIVE 32 (0x20)

Un fichier ou un répertoire qui est un fichier ou un répertoire d'archives. Les applications utilisent généralement cet attribut pour marquer les fichiers à sauvegarder ou à supprimer.

FILE_ATTRIBUTE_COMPRESSED 2048 (0x800)

Un fichier ou un répertoire compressé. Pour un fichier, toutes les données du fichier sont compressées. Pour un répertoire, la compression est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.

FILE_ATTRIBUTE_DEVICE 64 (0x40)

Cette valeur est réservée à l'utilisation du système.

FILE_ATTRIBUTE_DIRECTORY 16 (0x10)

Handle qui identifie un répertoire.

FILE_ATTRIBUTE_ENCRYPTED 16384 (0x4000)

Un fichier ou un répertoire chiffré. Pour un fichier, tous les flux de données du fichier sont cryptés. Pour un répertoire, le cryptage est la valeur par défaut pour les fichiers et sous-répertoires nouvellement créés.

FILE_ATTRIBUTE_HIDDEN2 (0x2) Le fichier ou le répertoire est masqué. Il n'est pas inclus dans une liste d'annuaire ordinaire.

FILE_ATTRIBUTE_INTEGRITY_STREAM 32768 (0x8000)

Le répertoire ou le flux de données utilisateur est configuré avec intégrité (uniquement pris en charge sur les volumes ReFS). Il n'est pas inclus dans une liste d'annuaire ordinaire. Le paramètre d'intégrité persiste avec le fichier s'il est renommé. Si un fichier est copié, le fichier de destination aura une intégrité définie si le fichier source ou le répertoire de destination ont une intégrité définie.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP: cet indicateur n'est pas pris en charge avant Windows Server 2012.

FILE_ATTRIBUTE_NORMAL 128 (0x80)

Un fichier qui n'a pas d'autres attributs définis. Cet attribut n'est valide que lorsqu'il est utilisé seul.

FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 8192 (0x2000)

Le fichier ou le répertoire ne doit pas être indexé par le service d'indexation de contenu.

FILE_ATTRIBUTE_NO_SCRUB_DATA 131072 (0x20000)

Le flux de données utilisateur ne doit pas être lu par le scanner d'intégrité des données d'arrière-plan (épurateur AKA). Lorsqu'il est défini sur un répertoire, il fournit uniquement l'héritage. Cet indicateur n'est pris en charge que sur les espaces de stockage et les volumes ReFS. Il n'est pas inclus dans une liste d'annuaire ordinaire.

Windows Server 2008 R2, Windows 7, Windows Server 2008, Windows Vista, Windows Server 2003 et Windows XP: cet indicateur n'est pas pris en charge avant Windows 8 et Windows Server 2012.

FILE_ATTRIBUTE_OFFLINE 4096 (0x1000)

Les données d'un fichier ne sont pas disponibles immédiatement. Cet attribut indique que les données du fichier sont physiquement déplacées vers un stockage hors ligne. Cet attribut est utilisé par le stockage étendu, qui est le logiciel de gestion du stockage hiérarchique. Les applications ne doivent pas modifier arbitrairement cet attribut.

FILE_ATTRIBUTE_READONLY 1 (0x1)

Un fichier en lecture seule. Les applications peuvent lire le fichier, mais ne peuvent pas y écrire ni le supprimer. Cet attribut n'est pas respecté sur les répertoires. Pour plus d'informations, voir Vous ne pouvez pas afficher ou modifier les attributs Lecture seule ou Système des dossiers dans Windows Server 2003, Windows XP, Windows Vista ou Windows 7.

FILE_ATTRIBUTE_REPARSE_POINT 1024 (0x400)

Un fichier ou un répertoire qui a un point d'analyse associé, ou un fichier qui est un lien symbolique.

FILE_ATTRIBUTE_SPARSE_FILE 512 (0x200)

Un fichier qui est un fichier clairsemé.

FILE_ATTRIBUTE_SYSTEM 4 (0x4)

Fichier ou répertoire dont le système d'exploitation utilise une partie ou utilise exclusivement.

FILE_ATTRIBUTE_TEMPORARY 256 (0x100)

Un fichier utilisé pour le stockage temporaire. Les systèmes de fichiers évitent de réécrire les données dans le stockage de masse si une mémoire cache suffisante est disponible, car généralement, une application supprime un fichier temporaire après la fermeture du descripteur. Dans ce scénario, le système peut totalement éviter d'écrire les données. Sinon, les données sont écrites après la fermeture du handle.

FILE_ATTRIBUTE_VIRTUAL 65536 (0x10000)

Cette valeur est réservée à l'utilisation du système.

Greg Askew
la source
Cela ne répond pas exactement à la question. Ils se demandaient pourquoi la lecture seule remplaçait le privilège de "contrôle total". Ces attributs sont utilisés dans les programmes.
Nathan C
1
Vous avez également mélangé des attributs de style FAT et NTFS - non, il n'y a plus de grande différence, mais il y a des moments où il est essentiel de se différencier.
Chris S
1
@Nathan C. Cela répond également exactement à la question. La lecture seule ne remplace pas le contrôle total. Comme l'indique la réponse «Un attribut s'applique quel que soit le principal de sécurité tentant l'opération.» Cependant, comme l'a souligné Chris S, les attributs hérités facultatifs sont mélangés avec les attributs NTFS.
Jim B
-6

Je fournirai une réponse plus longue, mais en général, les attributs auxquels vous faites référence sont les paramètres hérités d'un fichier datant du système de fichiers DOS FAT. FAT stocke ces attributs dans le cadre des entrées du répertoire du système de fichiers pour un fichier. NTFS possède son propre ensemble d'attributs qui encapsulent les anciens attributs. Par défaut, tout utilisateur disposant d'un accès aux fichiers peut les modifier et peut être utilisé pour éviter les remplacements accidentels de données.

Les autorisations sont spécifiques à NTFS et les modifications apportées à ces autorisations peuvent être contrôlées par utilisateur (de sorte qu'un utilisateur ne peut pas passer de la lecture seule à l'écriture). Plus précisément, si vous regardez la commande attrib (qui montre à la fois l'héritage et les nouveaux ajouts d'attributs comme l'intégrité dans les versions ultérieures de Windows), il est possible d'avoir un accès en lecture seule défini dans les autorisations mais pas un ensemble en lecture seule dans les attributs. Il est également intéressant (sinon important) de comprendre qu'en raison de l'abstraction, il est techniquement possible d'activer les attributs hérités (stockés dans l'attribut NTFS $ standard_information) sans qu'ils apparaissent nécessairement dans l'interface graphique normale.

Plus précisément, les autorisations de contrôle total vous permettent de modifier les autorisations NTFS. La définition de l'attribut en lecture seule empêche les modifications jusqu'à ce qu'il soit supprimé.

Les attributs FAT auront priorité sur les attributs NTFS sous Windows.

Jim B
la source
3
in general attributes are legacy settings- Avez-vous une source pour cela, car je pense que cette déclaration est incorrecte. Ils sont complémentaires aux autorisations du système de fichiers - ils n'ont pas été remplacés ou remplacés par eux. Il n'y a rien dans les autorisations standard qui remplace la fonctionnalité de caché, d'archive ou de système.
MDMarra
1
Any user can modify them and can be used to prevent accidental overwrites of data.En outre, cela est incorrect dans les faits. Seuls les utilisateurs avec "écrire un attribut" dans un fichier ou un répertoire peuvent modifier les attributs de cet objet.
MDMarra
1
i.stack.imgur.com/2fhEr.png pour des éclaircissements.
Nathan C
2
Jim, veuillez prendre une minute pour regarder cela depuis le début. Vous êtes allé si loin dans ce trou de lapin "attribut NTFS" que vous avez oublié que vous êtes le seul à parler des attributs NTFS. L'OP parle clairement d'attributs de fichiers globaux tels que "Masqué" et "Lecture seule". Il mentionne explicitement "Lecture seule" dans la question. Je ne peux pas dire si vous essayez d'être pédant et d'échouer ou si vous avez légitimement raté ce point. Oui, nous savons que les attributs NTFS (étendus) ne sont pas les mêmes que les attributs de fichier / dossier globaux (style FAT). Personne ne le prétend.
MDMarra
3
Je pense que vous avez clairement manqué l'esprit et l'intention de cette question et vous essayez de prendre une position qui est en partie incorrecte et en partie inutile. Vous avez clairement montré que vous comprenez le fonctionnement des attributs NTFS, mais personne ne les a interrogés et personne ne les a utilisés dans une réponse en premier lieu. Si vous essayiez de montrer votre connaissance des attributs NTFS, vous avez bien fait. Le problème est que vous avez complètement raté le point de la question.
MDMarra