Définition des autorisations NTFS et des autorisations spéciales. NTFS - Autorisations Autorisations du système de fichiers

Les ordinateurs exécutant des systèmes d'exploitation Windows peuvent fonctionner avec divers systèmes de fichiers tels que FAT32 et NTFS. Sans entrer dans les similitudes, on peut dire qu'ils diffèrent dans l'essentiel - le système de fichiers NTFS vous permet de configurer les paramètres de sécurité pour chaque fichier ou dossier (répertoire). Celles. Pour chaque fichier ou dossier, le système de fichiers NTFS stocke ce que l'on appelle les ACL (Access Control List), qui répertorient tous les utilisateurs et groupes disposant de certains droits d'accès à fichier donné ou dossier. Le système de fichiers FAT32 n'a pas cette capacité.

Dans le système de fichiers NTFS, chaque fichier ou dossier peut avoir les droits de sécurité suivants :

  • Lecture- Permet de parcourir les dossiers et de visualiser la liste des fichiers et sous-dossiers, de visualiser et d'accéder au contenu du fichier ;
  • Enregistrement- Permet d'ajouter des fichiers et des sous-dossiers, d'écrire des données dans un fichier ;
  • Lecture et exécution- Permet de parcourir les dossiers et de visualiser une liste de fichiers et de sous-dossiers, permet de visualiser et d'accéder au contenu d'un fichier, ainsi que de lancer un fichier exécutable ;
  • Lister le contenu du dossier- Permet de parcourir les dossiers et de visualiser uniquement la liste des fichiers et sous-dossiers. Cette autorisation n'accorde pas l'accès au contenu du fichier ! ;
  • Changement- Permet de visualiser le contenu et de créer des fichiers et des sous-dossiers, de supprimer un dossier, de lire et d'écrire des données dans un fichier, de supprimer un fichier ;
  • Accès total- Permet de visualiser le contenu, ainsi que de créer, modifier et supprimer des fichiers et des sous-dossiers, de lire et d'écrire des données, et de modifier et supprimer un fichier

Les droits énumérés ci-dessus sont fondamentaux. Les droits fondamentaux sont composés de droits spéciaux. Les droits spéciaux sont des droits plus détaillés qui forment les droits fondamentaux. L'utilisation d'autorisations spéciales vous offre une grande flexibilité dans la définition des autorisations.

Liste des autorisations spéciales pour les fichiers et dossiers :

  • Parcourir les dossiers/exécuter les fichiers- Permet de parcourir la structure des dossiers à la recherche d'autres fichiers ou dossiers, en exécutant des fichiers ;
  • Contenu du dossier/données lues- Permet de visualiser les noms de fichiers ou de sous-dossiers contenus dans le dossier, de lire les données du fichier ;
  • Attributs de lecture- Permet de visualiser les attributs d'un fichier ou d'un dossier en tant que "Lecture seule" et "Caché" ;
  • Lecture d'attributs supplémentaires- Permet de visualiser des attributs supplémentaires d'un fichier ou d'un dossier ;
  • Créer des fichiers / Écrire des données- Permet de créer des fichiers dans un dossier (s'applique uniquement aux dossiers), d'apporter des modifications à un fichier et d'écraser le contenu existant (applicable uniquement aux fichiers) ;
  • Créer des dossiers / Ajouter des données- Permet de créer des dossiers dans un dossier (s'applique uniquement aux dossiers), d'ajouter des données à la fin d'un fichier, mais pas de modifier, supprimer ou remplacer des données existantes (applicable uniquement aux fichiers) ;
  • Entrée d'attribut- Autorise ou interdit la modification des attributs d'un fichier ou d'un dossier comme "Lecture seule" et "Caché" ;
  • Enregistrement d'attributs supplémentaires— Autorise ou interdit la modification d'attributs supplémentaires d'un fichier ou d'un dossier ;
  • Suppression de sous-dossiers et de fichiers- Permet la suppression de sous-dossiers et de fichiers même si vous n'avez pas l'autorisation "Supprimer" (s'applique uniquement aux dossiers) ;
  • Suppression- Permet de supprimer un fichier ou un dossier. Si un fichier ou un dossier ne dispose pas de l'autorisation de suppression, l'objet peut toujours être supprimé si le dossier parent dispose de l'autorisation de suppression des sous-dossiers et des fichiers ;
  • Autorisations de lecture- Permet de lire les autorisations d'accès aux fichiers ou dossiers telles que "Contrôle total", "Lire" et "Ecrire" ;
  • Modification des autorisations- Permet de modifier les autorisations d'accès aux fichiers ou dossiers telles que "Contrôle total", "Lecture" et "Écriture" ;
  • Changement de propriétaire- Permet de s'approprier un fichier ou un dossier ;
  • Synchronisation- Permet à différents threads d'attendre des fichiers ou des dossiers et de les synchroniser avec d'autres threads qui peuvent les occuper. Cette autorisation s'applique uniquement aux programmes exécutés en mode multithread avec plusieurs processus ;

!!!Tous les droits fondamentaux et spéciaux sont à la fois permissifs et prohibitifs.

Toutes les autorisations de fichiers et de dossiers sont divisées en deux types : explicites et héritées. Le mécanisme d'héritage implique le transfert automatique de quelque chose de l'objet parent à l'enfant. Dans le système de fichiers, cela signifie que n'importe quel fichier ou dossier peut hériter de ses autorisations de son dossier parent. Il s'agit d'un mécanisme très pratique qui élimine le besoin d'attribuer à nouveau des droits explicites à tout le monde. fichiers créés et dossiers. Imaginez que vous ayez plusieurs milliers de fichiers et de dossiers sur un disque, comment pouvez-vous leur donner tous les droits d'accès, vous asseoir et les attribuer à tout le monde ? Non. C'est là que l'héritage fonctionne. Nous avons créé un dossier à la racine du disque, le dossier a automatiquement reçu exactement les mêmes droits que la racine du disque. Modification des autorisations pour le dossier nouvellement créé. Ensuite, à l'intérieur du dossier créé, un autre sous-dossier a été créé. Ce sous-dossier nouvellement créé aura les droits hérités du dossier parent, et ainsi de suite. etc.

Le résultat de l'application de droits explicites et hérités sera les droits réels sur un dossier ou un fichier particulier. Il y a beaucoup de pièges à cela. Par exemple, vous avez un dossier dans lequel vous autorisez l'utilisateur "Vasya" à supprimer des fichiers. Ensuite, vous vous souvenez que dans ce dossier, il y a un fichier très important que Vasya ne doit en aucun cas supprimer. Vous avez défini un bannissement explicite sur un fichier important (droit de bannissement spécial) "Supprimer"). Il semblerait que l'acte soit fait, le fichier est clairement protégé de la suppression. Et Vasya entre calmement dans le dossier et supprime ce fichier super protégé. Pourquoi? Parce que Vasya a le droit de supprimer du dossier parent, qui dans ce cas est prioritaire.

Essayez de ne pas utiliser l'attribution de droits directement aux fichiers, attribuez des droits aux dossiers.

!!! Essayez d'attribuer des droits uniquement aux groupes, cela simplifie grandement l'administration. L'attribution de droits à des utilisateurs spécifiques n'est pas recommandée par Microsoft. N'oubliez pas que le groupe peut inclure non seulement des utilisateurs, mais également d'autres groupes.

Par example. Si l'ordinateur est inclus dans le domaine, le groupe Utilisateurs du domaine (utilisateurs du domaine) est automatiquement ajouté à son groupe Utilisateurs local, et le groupe Administrateurs du domaine (administrateurs du domaine) est automatiquement ajouté au groupe Administrateurs local et, par conséquent, l'attribution à n'importe quel dossier de droits à un groupe d'utilisateurs locaux, vous attribuez automatiquement des droits à tous les utilisateurs du domaine.

Ne vous découragez pas si tout ce qui précède n'est pas immédiatement clair. Des exemples et des travaux indépendants corrigeront rapidement la situation !

Venons-en aux détails.

Tous les exemples, je vais montrer par exemple Fenêtres fenêtres XP. Dans Windows 7 et supérieur, l'essence est restée identique, seulement il y avait quelques fenêtres de plus.

Ainsi, pour attribuer ou modifier les droits sur un fichier ou un package, vous devez cliquer avec le bouton droit sur l'explorateur fichier souhaité ou un élément de menu de sélection de dossier "Propriétés"

Vous devriez voir une fenêtre avec un onglet "Sécurité"

S'il n'y a pas de tel signet, procédez comme suit. Lancez l'explorateur, puis ouvrez le menu "Un service""Propriétés du dossier…"

Dans la fenêtre qui s'ouvre, allez dans l'onglet "Affichage" et décochez l'option "Utiliser le partage de fichiers simple (recommandé)"

Tout, maintenant toutes les propriétés sont à votre disposition système de fichiers NTFS.

Retour au signet "Sécurité".

De nombreuses informations sont à notre disposition dans la fenêtre qui s'ouvre. Ci-dessus une liste "Groupes et utilisateurs :", qui liste tous les utilisateurs et groupes ayant des droits d'accès à ce dossier (flèche 1). La liste du bas affiche les autorisations pour l'utilisateur/le groupe sélectionné (flèche 2). Dans ce cas, il s'agit de l'utilisateur SYSTEM. À cette liste les autorisations sont des autorisations de base visibles. A noter que dans la colonne "Permettre" les coches sont estompées et non modifiables. Cela indique que ces droits sont hérités du dossier parent. Encore une fois, dans ce cas, tous les droits de l'utilisateur SYSTEM sur le dossier "Travail" sont entièrement hérités du dossier parent et l'utilisateur SYSTEM dispose de tous les droits ( "Accès total")

Mise en surbrillance dans la liste groupe souhaité ou utilisateur, nous pouvons voir les autorisations de base pour ce groupe ou cet utilisateur. Mettre un utilisateur en surbrillance "Utilisateur invité ( [courriel protégé] vous pouvez voir qu'il a tous les droits explicites

Et voici le groupe "Utilisateurs (KAV-VM1\Utilisateurs" a des droits combinés, certains d'entre eux sont hérités du dossier parent (carrés gris en face "Lire et exécuter", "Liste du contenu du dossier", "Lecture"), et une partie est explicitement établie - c'est le droit "Changement" et "Enregistrer"

!!!Attention. Faites attention aux noms des utilisateurs et des groupes. Les parenthèses indiquent la propriété d'un groupe ou d'un utilisateur. Les groupes et les utilisateurs peuvent être locaux, c'est-à-dire créé directement sur cet ordinateur, ou peut être un domaine. Dans ce cas, le groupe "Administrateurs" local, puisque l'entrée entre parenthèses indique le nom de l'ordinateur KAV-VM1, et après la barre oblique le nom du groupe lui-même vient déjà. Au contraire, l'utilisateur "Utilisateur invité" est un utilisateur du domaine btw.by, cela est indiqué par l'entrée du nom complet [courriel protégé]

Souvent, lors de la visualisation ou de la modification des droits, vous pouvez vous limiter à une fenêtre avec des droits de base, mais parfois cela ne suffit pas. Vous pouvez ensuite ouvrir une fenêtre qui modifie les autorisations spéciales, le propriétaire ou afficher les autorisations effectives. Comment faire? Cliquez sur le bouton "En outre". Cette fenêtre s'ouvre

Dans cette fenêtre du tableau "Éléments d'autorisation" répertorie tous les utilisateurs ayant des droits sur ce dossier. De la même manière que pour les autorisations de base, nous attribuons utilisateur souhaité ou groupe et appuyez sur le bouton "Changement". Une fenêtre s'ouvre et affiche toutes les autorisations spéciales pour l'utilisateur ou le groupe sélectionné

Semblables aux autorisations de base, les autorisations spéciales héritées du dossier parent seront affichées dans une couleur gris pâle et ne seront pas modifiables.

Comme vous l'avez peut-être remarqué, il y a plusieurs lignes dans la fenêtre des autorisations spéciales pour certains utilisateurs ou groupes.


En effet, pour un seul utilisateur ou groupe, il peut y avoir différentes sortes droits : explicites et hérités, permettant ou interdisant, différant par le type d'héritage. Dans ce cas, les autorisations de lecture pour le groupe Utilisateurs sont héritées du dossier parent et les autorisations de modification sont ajoutées explicitement.

Exemples de cession de droits.

!!! Tous les exemples iront avec une complexité croissante. Lisez-les et traitez-les dans le même ordre qu'ils apparaissent dans le texte. Des actions similaires dans les exemples suivants seront omises pour réduire la quantité de texte. 🙂

Exemple 1 : Octroi d'un accès en lecture seule à un dossier à un groupe de sécurité local spécifique.

Commençons par créer un groupe local, dans lequel nous inclurons la liste complète des utilisateurs dont nous avons besoin. C'est possible sans groupe, mais ensuite pour chaque utilisateur vous devrez configurer les droits séparément, et chaque fois que vous devrez donner des droits à une nouvelle personne, vous devrez refaire toutes les opérations. Et si les droits sont accordés à un groupe local, alors pour configurer une nouvelle personne, une seule action est requise - inclure cette personne dans le groupe local. Comment créer un groupe de sécurité local, lisez l'article "Configuration des groupes de sécurité locaux".

Donc. Nous avons créé un groupe de sécurité local nommé "For Colleagues to Read",


auquel tous les utilisateurs nécessaires ont été ajoutés.

Maintenant, je suis en train de définir les autorisations pour le dossier. Dans cet exemple, je vais donner des autorisations au groupe créé « Collègues de lecture » par dossier "Une photo".

Clic droit sur le dossier "UNE PHOTO" et sélectionnez l'élément de menu "Propriétés", aller au signet "Sécurité".

Dans le signet ouvert "Sécurité" affiche les autorisations de dossier actuelles "UNE PHOTO". En sélectionnant des groupes et des utilisateurs dans la liste, vous pouvez voir que les droits de ce dossier sont hérités du dossier parent (coches grises dans la colonne "Permettre"). Dans cette situation, je ne veux pas que quelqu'un d'autre que le groupe nouvellement créé ait accès au dossier "UNE PHOTO".

Par conséquent, je dois supprimer l'héritage des droits et supprimer les utilisateurs et groupes inutiles de la liste. j'appuie sur le bouton "En outre". Dans la fenêtre ouverte,


Je décoche la case "Hériter de l'objet parent les autorisations applicables aux objets enfants, en les ajoutant à celles explicitement définies dans cette fenêtre". . Cela ouvrira une fenêtre dans laquelle je pourrai choisir quoi faire avec les droits hérités actuels.

Dans la plupart des cas, je vous conseille de cliquer ici "Copie", puisque si l'on choisit "Supprimer", la liste des droits devient alors vide et vous pouvez en fait vous retirer les droits. Oui, ne soyez pas surpris, c'est très facile à faire. Et si vous n'êtes pas administrateur sur votre ordinateur, ou pas utilisateur du groupe "Opérateurs d'archives", il vous sera alors impossible de rétablir les droits. La situation est comme une porte avec un loquet automatique, que vous fermez en laissant les clés à l'intérieur. Par conséquent, il est préférable de toujours appuyer sur le bouton "Copie" puis supprimez ce dont vous n'avez pas besoin.

Après avoir appuyé "Copie", Je reviens à nouveau à la fenêtre précédente, uniquement avec la case décochée.

j'appuie "D'ACCORD" et revenir à la fenêtre des droits de base. Tous les droits sont devenus disponibles pour l'édition. Je dois laisser des autorisations pour le groupe local "Administrateurs" et utilisateur SYSTÈME et supprimer le reste. Je sélectionne les utilisateurs et les groupes inutiles un par un et j'appuie sur le bouton "Supprimer".

En conséquence, j'obtiens cette image.

Il ne me reste plus qu'à ajouter un groupe « Collègues de lecture » et attribuez des autorisations de lecture à ce groupe.

j'appuie sur le bouton "Ajouter", et dans la fenêtre de sélection standard je sélectionne le groupe local « Collègues de lecture ». L'utilisation de la fenêtre de sélection est décrite en détail dans l'article.

À la suite de toutes les actions, j'ai ajouté le groupe "Colleagues for Reading" à la liste des droits fondamentaux, alors que les droits étaient automatiquement définis pour ce groupe "Lire et exécuter", "Liste du contenu du dossier", "Lecture".

Tout ce que vous avez à faire est d'appuyer sur le bouton "D'ACCORD" et les droits sont cédés. Désormais, tout utilisateur appartenant au groupe de sécurité local « Collègues de lecture », pourra lire tout le contenu du dossier "UNE PHOTO".

Exemple 2 : donner aux utilisateurs un accès personnel à leurs sous-dossiers dans un dossier.

Cette situation est également courante dans la pratique. Par exemple, vous avez un dossier pour les nouveaux documents numérisés. Dans ce dossier, chaque utilisateur a son propre sous-dossier séparé. Après la numérisation, le document est extrait par l'utilisateur de son sous-dossier. La tâche consiste à attribuer des droits afin que chaque utilisateur ne voie que le contenu de son propre sous-dossier et ne puisse pas accéder au sous-dossier du collègue.

Pour cet exemple, je vais reformuler un peu la tâche. Supposons que nous ayons un dossier partagé "UNE PHOTO", qui contient un sous-dossier pour chaque utilisateur. Il est nécessaire de définir les droits pour que l'utilisateur ait tous les droits dans son sous-dossier, et les sous-dossiers des autres utilisateurs lui seraient inaccessibles.

Pour cette configuration, je répète complètement toutes les étapes du premier exemple. À la suite de la répétition, j'obtiens les droits pour tout le groupe « Collègues de lecture »à lire dans tous les sous-dossiers. Mais ma tâche consiste à rendre uniquement "mon" sous-dossier visible pour l'utilisateur. Par conséquent, dans la fenêtre des droits de base, je clique sur le bouton "En outre"


et aller dans la fenêtre des droits spéciaux, dans laquelle je sélectionne un groupe « Collègues de lecture » et j'appuie sur le bouton "Changement"

Dans la fenêtre qui s'ouvre, je change les règles d'héritage, à la place de la valeur du champ "Appliquer:" je choisis la valeur "Uniquement pour ce dossier".

C'est le point le plus important de cet exemple. Sens "Uniquement pour ce dossier" provoque des autorisations de lecture pour le groupe « Collègues de lecture » appliquer uniquement à la racine du dossier "UNE PHOTO", mais pas sur les sous-dossiers. Ainsi, chaque utilisateur pourra accéder à son propre dossier, mais il ne pourra pas regarder dans le suivant, il n'a pas le droit de voir les sous-dossiers. Si vous ne donnez pas du tout ce droit au groupe, les utilisateurs ne pourront pas du tout accéder à leurs sous-dossiers. Le système de fichiers ne les laissera pas passer même dans un dossier "UNE PHOTO".

Par conséquent, les utilisateurs pourront accéder au dossier "UNE PHOTO" mais ils ne pourront pas aller plus loin dans les sous-dossiers !

Dans la fenêtre des droits spéciaux, cliquez sur "D'ACCORD" et revenir à la fenêtre précédente, maintenant dans la colonne "Postuler à" devant le groupe « Collègues de lecture » vaut la valeur "Uniquement pour ce dossier".

Cliquez sur toutes les fenêtres "D'ACCORD" et nous partons.

Tout le monde. Il reste maintenant à paramétrer les droits personnels pour chaque sous-dossier. Vous devrez le faire pour chaque sous-dossier, les droits sont personnels pour chaque utilisateur.

Vous avez déjà effectué toutes les actions nécessaires dans le premier exemple, répétons ce que nous avons fait 🙂

Sur un sous-dossier "Utilisateur1" clic droit, sélectionner l'élément de menu "Propriétés", aller au signet "Sécurité". j'appuie sur le bouton "Ajouter"

et dans la fenêtre de sélection standard, je sélectionne un utilisateur de domaine avec le nom "Utilisateur1".

Il reste à cocher la case pour le droit d'autorisation "Changement". Dans le même temps, la case à cocher pour le droit d'autorisation "Enregistrer" sera installé automatiquement.

Cliquez sur "D'ACCORD". Nous partons. Il reste à répéter les mêmes étapes pour tous les sous-dossiers.

Exemple 3. Accorder un accès personnel à l'utilisateur à son sous-dossier en écriture, tout en interdisant les modifications ou les suppressions.

Je sais que cela semble difficile, mais je vais essayer d'expliquer. J'appelle ce type d'accès un loquet. Dans la vie de tous les jours, nous avons une situation similaire avec l'habituel boites aux lettres dans lequel on jette des lettres en papier. Celles. Vous pouvez déposer une lettre dans une boîte, mais vous ne pouvez pas la sortir de la boîte. Dans l'industrie informatique, cela peut être utile dans une situation où quelqu'un vous écrit un rapport dans un dossier. Celles. le fichier est écrit par l'utilisateur, mais alors cet utilisateur ne peut plus rien faire avec ce fichier. Ainsi, vous pouvez être sûr que le créateur ne pourra plus modifier ou supprimer le rapport soumis.

Comme dans l'exemple précédent, nous répétons toutes les actions, sauf que nous ne donnons pas immédiatement à l'utilisateur tous les droitsà votre dossier, initialement dans les autorisations de base, nous ne donnons qu'un accès en lecture, et appuyez sur le bouton "En outre"

Dans la fenêtre qui s'ouvre, sélectionnez "Utilisateur1" et appuyez sur le bouton "Changement"

Dans la fenêtre qui s'ouvre, nous voyons les autorisations de lecture standard

Afin de donner à l'utilisateur le droit de créer des fichiers, définissez l'autorisation à droite « Créer des fichiers/Écrire des données », mais à droite "Supprimer les sous-dossiers et les fichiers" et "Supprimer" mettre une interdiction. Laisser l'héritage par défaut "Pour ce dossier, ses sous-dossiers et fichiers".

Après avoir appuyé sur le bouton "D'ACCORD" et en revenant à la fenêtre précédente, vous pouvez voir des changements significatifs. Au lieu d'une entrée pour "Utilisateur1" deux sont apparus.

En effet, deux types de droits sont définis, l'un est interdit, ils vont en premier dans la liste, le second est permissif, ils sont en deuxième dans la liste. Étant donné que les droits spéciaux ne sont pas standard, dans la colonne "Autorisation" vaut la valeur "Spécial". Lorsque vous appuyez sur un bouton "D'ACCORD" une fenêtre apparaît dans laquelle les fenêtres avertissent qu'il y a des droits de refus et qu'ils ont une priorité plus élevée. En traduction, cela signifie la même situation avec une porte à fermeture automatique, dont les clés sont à l'intérieur. J'ai décrit une situation similaire dans le deuxième exemple.

Tout le monde. Les droits sont fixés. Maintenant "Utilisateur1" pourra écrire n'importe quel fichier dans son dossier, l'ouvrir, mais ne pourra pas le modifier ou le supprimer.

Mais qu'en est-il de l'analogie complète avec une vraie boîte aux lettres ?

Pour empêcher l'utilisateur d'ouvrir ou de copier le fichier enregistré, vous devez procéder comme suit. Encore une fois, nous ouvrons permettant des autorisations spéciales pour "Utilisateur1", et sur le terrain "Appliquer:" changer la valeur en "Uniquement pour ce dossier"

L'utilisateur n'a pas le droit de lire ou de copier le fichier.

Tout le monde. Maintenant, l'analogie avec une boîte aux lettres physique est presque complète. Il ne pourra voir que les noms des fichiers, leur taille, leurs attributs, mais il ne pourra pas voir le fichier lui-même.

Afficher les droits valides.

Je tiens à dire tout de suite que la possibilité de visualiser les droits effectifs d'un dossier ou d'un fichier est une pure fiction. À mon avis, de tels outils devraient fournir des informations garanties. Dans ce cas, ce n'est pas le cas. Microsoft lui-même admet que cet outil ne prend pas en compte de nombreux facteurs qui affectent les droits qui en découlent, tels que les conditions de connexion. Par conséquent, utiliser un tel outil ne fait que se tromper sur les droits réels.

Le cas décrit au tout début de l'article, avec une interdiction de supprimer un fichier d'un dossier, est dans ce cas très éloquent. Si vous simulez une situation similaire et examinez les droits d'un fichier protégé contre la suppression, vous verrez que les droits de suppression du fichier sont interdits. Cependant, la suppression de ce fichier n'est pas difficile. Pourquoi Microsoft a fait cela, je ne sais pas.

Si vous décidez toujours d'afficher les droits actuels, vous devez pour cela cliquer sur le bouton dans la fenêtre des droits de base "En outre", et dans la fenêtre des droits spéciaux allez dans l'onglet "Permis valides".

Ensuite, vous devez appuyer sur le bouton "Choisir" et dans la fenêtre de sélection standard, sélectionnez l'utilisateur ou le groupe souhaité.

Après la sélection, vous pouvez voir les autorisations valides "approximatives".

En conclusion, je tiens à dire que le sujet des droits du système de fichiers NTFS est très vaste, les exemples ci-dessus ne sont qu'une très petite partie de ce qui peut être fait. Par conséquent, si vous avez des questions, posez-les dans les commentaires de cet article. Je vais essayer d'y répondre.

Pourquoi la plupart des organisations ont-elles besoin d'un serveur ? Active Directory, RDS, serveur d'impression et un tas de petits et grands services. Le rôle le plus visible pour tous, peut-être, est le serveur de fichiers. Avec lui, les gens, contrairement à d'autres rôles, travaillent le plus consciemment. Ils se souviennent dans quel dossier ce qui est, où sont les scans des documents, où sont leurs rapports, où sont les fax, où est le dossier partagé, dans lequel tout est possible, où un seul des départements peut accéder, où l'autre, et certains qu'ils ne connaissent pas du tout

Je veux parler de l'accès au réseau et aux dossiers locaux sur le serveur.

L'accès aux ressources partagées sur le serveur s'effectue, comme tout le monde le sait très bien, en utilisant le protocole SMB déjà 3.0. L'accès réseau aux dossiers peut être limité par les autorisations SMB et NTFS. Les autorisations SMB ne fonctionnent que lors de l'accès à un dossier partagé sur le réseau et n'ont aucun effet sur la disponibilité d'un dossier particulier localement. Les autorisations NTFS fonctionnent à la fois sur le réseau et localement, offrant beaucoup plus de flexibilité dans la création d'autorisations. Les autorisations SMB et NTFS ne fonctionnent pas séparément, mais se complètent, selon le principe de la plus grande restriction des droits.

Afin de partager un dossier dans Server 2012 dans le groupe SMB Share Cmdlets, la cmdlet New-SMBShare est apparue. En utilisant cette applet de commande comme exemple, nous verrons toutes les possibilités disponibles lors de la création d'un dossier partagé, à l'exception des configurations de cluster (il s'agit d'un sujet volumineux séparé).

La création d'un nouveau dossier partagé semble très simple :
net share homefolder=s:\ivanivanov /grant:"admin",full /grant:"folderowner",change /grant:"manager",read /cache:programs /remark:"Ivanov" ou
new-smbshare homefolder s:\ivanivanov –cachingmode programmes –fullaccess admin –changeaccess folderowner –readaccess manager –noaccess all –folderenumerationmode accessbased -description "Ivanov"

Compréhension:

-name nom du dossier partagé sur le réseau, peut être différent du nom du dossier sur l'ordinateur local. A une limite de 80 caractères, les noms de canal et de fente ne peuvent pas être utilisés.

Path est le chemin d'accès au dossier local à partager. Le chemin doit être complet, en partant de la racine du lecteur.

Cachingmode définissant l'autonomie des fichiers dans un dossier partagé.

Qu'est-ce qu'un fichier hors ligne ?

Un fichier hors ligne est une copie d'un fichier situé sur un serveur. Cette copie se trouve sur l'ordinateur local et vous permet de travailler avec le fichier sans vous connecter au serveur. Une fois connecté, les changements sont synchronisés. Synchronisé dans les deux sens : si vous avez apporté des modifications à votre fichier hors ligne, la prochaine fois que vous vous connecterez, le fichier sur le serveur sera modifié ; si quelqu'un a apporté des modifications sur le serveur, votre copie locale sera modifiée. Si des modifications ont eu lieu dans les deux fichiers à la fois, nous obtenons une erreur de synchronisation et devrons choisir la version à enregistrer. Pour la collaboration, je n'utiliserais pas cette fonctionnalité, mais si pour chaque utilisateur on faisait une boule et restreignait l'accès des autres à la lecture, sans la possibilité d'écrire, on obtenait les goodies suivants :

  • Le travail ne dépend pas du réseau - le commutateur peut griller, le serveur peut redémarrer, le fil peut se rompre ou le point d'accès peut s'éteindre - l'utilisateur travaille avec sa copie sans remarquer que vous avez une sorte d'accident lors de la restauration connexion réseau son travail va au serveur.
  • L'utilisateur peut travailler n'importe où : dans le pays, dans le bus, dans l'avion - dans les endroits où la connexion VPN n'est pas disponible pour une raison quelconque.
  • Même si l'utilisateur travaille via un VPN, mais que la connexion est soit très lente, soit constamment déconnectée, il est plus facile de travailler avec une copie hors ligne et de synchroniser les modifications que d'essayer de faire quelque chose sur le serveur.
  • L'utilisateur lui-même peut choisir quoi et quand synchroniser, s'il en a la possibilité.

Prend les valeurs suivantes :
  • aucun - les fichiers ne sont pas disponibles hors ligne, l'accès aux fichiers nécessite l'accès au serveur
  • manuel - les utilisateurs choisissent eux-mêmes les fichiers qui seront disponibles hors ligne
  • programmes - tout ce qui se trouve dans le dossier est disponible hors ligne (documents et programmes (fichiers avec *.exe, *.dll extension))
  • documents - les documents sont disponibles, pas de programme
  • branchcache - au lieu de l'ordinateur local de l'utilisateur, la mise en cache se produit sur les serveurs BranchCache, les utilisateurs eux-mêmes choisissent des fichiers hors ligne
-noaccess, -readaccess, -changeaccess, -fullaccess partager les autorisations.

Ces autorisations ont un gros avantage - elles sont très simples.

Pas d'accès secrétaire,intendant - le secrétaire et le responsable de l'approvisionnement n'ont rien à voir dans les dossiers publics du service comptable
-auditeur readaccess - un auditeur qui vérifie le travail du service comptable peut voir les noms des fichiers et des sous-dossiers dans un dossier partagé, ouvrir des fichiers en lecture, exécuter des programmes.
-changeaccess accountant - les comptables dans leur dossier partagé peuvent créer des fichiers et des sous-dossiers, modifier fichiers existants, supprimer des fichiers et sous-dossiers
-fullaccess admin - fullaccess est readaccess + changeaccess plus la possibilité de modifier les autorisations.

Lors de la création d'un dossier partagé, la règle la plus restrictive est automatiquement appliquée - le groupe "Tout le monde" a le droit de lecture.

Ces autorisations s'appliquent uniquement aux utilisateurs accédant au dossier partagé sur le réseau. Lors d'une connexion locale, par exemple, dans le cas d'un serveur de terminaux, la secrétaire et le responsable de l'approvisionnement verront tout ce qu'ils veulent dans le service comptable. Ceci est corrigé par les autorisations NTFS. Les autorisations SMB s'appliquent à tous les fichiers et dossiers du partage. Suite réglage fin Les droits d'accès sont également fournis par les autorisations NTFS.

Concurrentuserlimit Utilisez ce paramètre pour limiter le nombre maximal de connexions à un dossier partagé. En principe, il peut également être utilisé pour restreindre l'accès à un dossier, en complément des autorisations NTFS, il vous suffit d'être sûr du nombre de connexions requis.

Description Description de la ressource partagée visible dans l'environnement réseau. La description est une très bonne chose que beaucoup de gens négligent.

cryptercryptage des données

Dans SMB avant la version 3.0, le seul moyen de sécuriser le trafic du serveur de fichiers vers le client était d'utiliser un VPN. Comment le mettre en œuvre dépendait entièrement des préférences. administrateur du système: Tunnels SSL, PPTP, IPSEC ou autre. Dans Server 2012, le chiffrement est prêt à l'emploi, de manière normale. réseau local ou via des réseaux non fiables sans nécessiter de solutions d'infrastructure spéciales. Il peut être activé pour l'ensemble du serveur ou pour des dossiers partagés individuels. L'algorithme de chiffrement dans SMB 3.0 est AES-CCM, l'algorithme de hachage est AES-CMAC au lieu de HMAC-SHA256. La bonne nouvelle est que SMB 3.0 prend en charge l'AES matériel (AES-NI), la mauvaise nouvelle est que la Russie ne prend pas en charge l'AES-NI.

Qu'est-ce qui menace l'inclusion du cryptage ? Le fait que seuls les clients prenant en charge SMB 3.0, c'est-à-dire Windows 8, pourront travailler avec des dossiers partagés cryptés.La raison, encore une fois, est la restriction maximale autorisée des droits d'utilisateur. On suppose que l'administrateur sait ce qu'il fait et, si nécessaire, donnera accès aux clients avec une version différente de SMB. Mais comme SMB 3.0 utilise de nouveaux algorithmes de cryptage et de hachage, le trafic client avec une version différente de SMB ne sera pas crypté, un VPN est nécessaire. La commande set-smbserverconfiguration –rejectunencryptedaccess $false permettra à tous les clients d'accéder au serveur de fichiers avec le chiffrement activé.
Dans la configuration par défaut (trafic non chiffré vers chiffrement dossiers partagés), lorsque vous essayez d'accéder à un dossier client avec une version SMB inférieure à 3.0 sur le client, nous obtenons une "Erreur d'accès". Sur le serveur, l'événement 1003 sera ajouté au journal Microsoft-Windows-SmbServer/Operational, où vous pourrez trouver l'adresse IP du client qui a tenté d'accéder.

Le cryptage SMB et EFS sont des choses différentes qui n'ont rien à voir, c'est-à-dire qu'il peut être utilisé sur des volumes FAT et ReFS.

Folderenumerationmode Il s'agit d'une énumération basée sur l'accès. Avec l'énumération basée sur l'accès activée, les utilisateurs qui n'ont pas accès au dossier partagé ne le verront tout simplement pas sur le serveur de fichiers, et il y aura moins de questions sur la raison pour laquelle je n'ai pas accès à tel ou tel dossier. L'utilisateur voit ses dossiers disponibles et n'essaie pas de se mêler des affaires des autres. La valeur par défaut est désactivée.

  • basé sur l'accès - activer
  • illimité - désactiver
-temporary Ce commutateur crée un dossier partagé temporaire qui sera indisponible après un redémarrage du serveur. Par défaut, des dossiers partagés persistants sont créés.

Autorisations NTFS

Avec l'aide des autorisations NTFS, nous pouvons différencier plus en détail les droits dans le dossier. Nous pouvons interdire à un certain groupe de modifier un certain fichier, laissant la possibilité de modifier l'intégralité du fichier principal ; dans le même dossier, un groupe d'utilisateurs peut avoir le droit de modifier un fichier et ne pas être en mesure de visualiser d'autres fichiers modifiés par un autre groupe d'utilisateurs, et vice versa. En bref, les autorisations NTFS nous permettent de créer un système d'accès très flexible, l'essentiel est de ne pas s'embrouiller plus tard. De plus, les autorisations NTFS fonctionnent à la fois lors de l'accès à un dossier sur le réseau, en complément des autorisations d'accès partagé, et lors de l'accès local aux fichiers et dossiers.

Il existe six autorisations de base, qui sont une combinaison de 14 autorisations avancées.

Autorisations de base
Controle total– accès complet à un dossier ou fichier, avec la possibilité de modifier les droits d'accès et les règles d'audit pour les dossiers et fichiers

Changer (modifier)– le droit de lire, modifier, visualiser le contenu d'un dossier, supprimer des dossiers/fichiers et exécuter des fichiers exécutables. Comprend Lire et exécuter (readandexecute), Write (écrire) et Delete (supprimer).

Lecture et exécution (readandexecute)- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Il est également possible de lancer des fichiers exécutables.

Lister le contenu du dossier (listdirectory)- le droit de visualiser le contenu du dossier

Lecture- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Inclut le contenu du dossier / les données de lecture (readdata), les attributs de lecture (readattributes), les attributs étendus de lecture (readextendedattributes) et les autorisations de lecture (readpermissions)

Écrivez– le droit de créer des dossiers et des fichiers, de modifier des fichiers. Comprend Créer des fichiers / Écrire des données (writedata), Créer des dossiers / Ajouter des données (appenddata), Écrire des attributs (writeattributes) et Écrire des attributs étendus (writeextendedattributes)

Autorisations supplémentaires
J'ai mis seulement 1 des 14 autorisations sur le dossier et j'ai regardé ce qui s'est passé. Dans le monde réel, dans la plupart des cas, les autorisations de base suffisent, mais j'étais intéressé par le comportement des dossiers et des fichiers avec les autorisations les plus réduites.

Parcours dossier / Exécution fichier (parcours)– le droit d'exécuter et de lire des fichiers, quels que soient les droits d'accès au dossier. L'utilisateur n'aura pas accès au dossier (ce qu'il y a dans le dossier restera un mystère), mais les fichiers du dossier seront accessibles via un lien direct (chemin complet, relatif ou UNC). Vous pouvez mettre sur le dossier les dossiers Traverse et sur le fichier toutes les autres autorisations dont l'utilisateur a besoin pour travailler. L'utilisateur ne pourra pas créer et supprimer des fichiers dans le dossier.

Lecture des attributs (readattributes)– le droit de visualiser les attributs (FileAttributes) d'un dossier ou d'un fichier.
Vous ne pouvez pas afficher le contenu d'un dossier ou de fichiers ni modifier les attributs.

Lecture des attributs étendus (readextendedattributes)– le droit de visualiser les attributs supplémentaires d'un dossier ou d'un fichier.

La seule chose que j'ai pu trouver sur les attributs supplémentaires est qu'ils sont utilisés pour la rétrocompatibilité avec les applications OS/2. (Windows Internals, Part 2: Covering Windows Server 2008 R2 and Windows 7). Je ne sais rien de plus sur eux.

Création de fichiers / écriture de données (writedata)- donne à l'utilisateur la possibilité de créer des fichiers dans un dossier auquel il n'a pas accès. Vous pouvez copier des fichiers dans un dossier et créer de nouveaux fichiers dans le dossier. Vous ne pouvez pas afficher le contenu d'un dossier, créer de nouveaux dossiers ou modifier des fichiers existants. L'utilisateur ne pourra modifier aucun fichier, même s'il est le propriétaire de ce fichier - seulement créer.

Création de dossiers / ajout de données (appenddata)– permet à l'utilisateur de créer des sous-dossiers dans un dossier et d'ajouter des données à la fin du fichier sans modifier le contenu existant.

Examen

Avec la création de sous-dossiers, tout est clair : ni c:\testperms\testappend - le répertoire itemtype fonctionnera comme prévu - il créera un sous-dossier testappend dans le dossier testperms qui est inaccessible à l'utilisateur. Essayons d'ajouter une ligne à la fin du fichier - simulons une sorte de journalisation. nouvel événement >> c:\testperms\user.log Accès refusé.
Hmm... Ne fonctionne pas dans CMD. Et si oui. ac c:\testperms\user.log newevent ac : Accès refusé au chemin 'C:\testperms\user.log'.
Et le convoyeur ? "nouvel événement" | out-file c:\testperms\user.log -append out-file : accès refusé au chemin 'C:\testperms\user.log'.
Et ça ne marche pas.

Commençons la séance de magie noire : nous utilisons la classe File, la méthode AppendText. Nous obtenons l'objet log.
$log = ::appendtext("c:\testperms\user.log") Exception lors de l'appel de "AppendText" avec les arguments "1" : "Autorisation refusée sur le chemin 'c:\testperms\user.log'."
Je pense que AppendAllText ne vaut plus la peine d'essayer
$log = ::appendalltext("c:\testperms\user.log","newevent") Exception lors de l'appel de "AppendAllText" avec "2" arguments : "Autorisation refusée sur le chemin 'c:\testperms\user.log'" ."
Le point est, en principe, clair. Seules les méthodes ci-dessus n'ont pas le droit d'ajouter des données au fichier, elles doivent écrire dans le fichier. Mais en même temps, nous donnerons la possibilité de modifier le fichier, et pas seulement d'ajouter des entrées, c'est-à-dire que nous ouvrirons la possibilité potentielle de détruire tout le contenu du fichier.

Nous devons reconsidérer le concept : n'obtenons pas un objet de journal, mais créons-en un nouveau dans lequel nous définissons tous les paramètres qui nous intéressent. Nous avons besoin de quelque chose où nous pouvons explicitement définir des autorisations. Nous avons besoin d'un FileStream , et plus précisément, FileStream Constructor (String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) nous aidera. Les paramètres suivants sont requis :

  • Le chemin d'accès au fichier est clair
  • Comment ouvrir un fichier - ouvrir un fichier et trouver la fin du fichier
  • Autorisations de fichier - ajout de données
  • Accès pour d'autres objets FileStream - pas nécessaire
  • Taille du tampon - 8 octets par défaut
  • Options supplémentaires - non
Il s'avère quelque chose comme ceci:
$log = nouvel-objet io.filestream("c:\testperms\user.log",::append,::appenddata,::none,8,::none)
Travail! Nous avons créé l'objet log, essayons d'y écrire quelque chose. La méthode FileStream.Write accepte les valeurs d'entrée en octets. Nous distillons l'événement que nous voulons écrire en octets - la classe Encoding, la méthode GetEncoding (nous n'avons pas besoin de raccourcis sur la sortie) et GetBytes (en fait, la conversion)
$event = "Un nouvel événement s'est produit." $eventbytes = ::getencoding("windows-1251").getbytes($event)
Options FileStream.Write :
Quoi écrire; où commencer à écrire ; nombre d'octets à écrire
Nous écrivons :
$log.write($eventbytes,0,$eventbytes.count)
Nous vérifions.
gc c:\testperms\user.log gc : accès refusé au chemin 'C:\testperms\user.log'.
Tout va bien, l'utilisateur n'a pas le droit de voir ce qui est écrit. Nous nous connectons sous l'administrateur.
gc c:\testperms\user.log Un nouvel événement s'est produit.
Tout fonctionne.

Le dossier dans lequel se trouve le fichier, en plus de l'autorisation Créer des dossiers/ajouter des données, doit également disposer de l'autorisation Dossier de contenu/Lire les données. Seule la création de dossiers / l'ajout de données avec un héritage désactivé suffit pour un fichier. Il ne sera pas possible de protéger complètement l'utilisateur (et un attaquant peut aussi être un utilisateur) des fichiers dans lesquels il doit écrire quelque chose, mais en revanche, l'utilisateur ne verra rien sauf la liste des fichiers dans le dossier et ne pourra rien faire.

La conclusion est simple : il est impossible d'implémenter une journalisation sécurisée dans les fichiers batch, PowerShell permet d'économiser la possibilité de travailler avec des objets .NET.


Attributs d'écriture (writeattributes)- permettre à l'utilisateur de modifier les attributs d'un fichier ou d'un dossier. Tout semble simple. Mais voici juste pour répondre à la question : « Les photos de mes chats occupent presque toute la place dans mon profil et je n'ai pas de place pour la correspondance commerciale. Je voudrais compresser le dossier cat, mais ils nécessitent des droits d'administrateur. Vous avez dit que j'ai le droit de modifier les attributs du dossier. Est-ce un attribut ? Pourquoi ne puis-je pas le changer ?"

Oui, un utilisateur disposant de l'autorisation Écrire des attributs peut modifier presque tous les attributs visibles des fichiers et des dossiers, à l'exception des attributs de compression et de chiffrement. Techniquement, l'utilisateur a le droit d'exécuter la fonction SetFileAttributes. Et la compression des fichiers est effectuée par la fonction DeviceIOControl, à laquelle vous devez passer le paramètre FSCTL_SET_COMPRESSION, et la compression des fichiers est loin d'être son seul travail. Avec cette fonction, nous pouvons gérer tous les appareils et leurs ressources dans le système et, probablement, donner à l'utilisateur ce droit d'exécuter cette fonction signifie en faire un administrateur.

Avec le chiffrement, l'histoire est similaire : la fonction EncryptFile, qui se charge du chiffrement, nécessite que l'utilisateur ait les droits Content Folder / Read Data, Create Files / Write Data, Read Attributes, Write Attributes et Synchronize sur un objet. Rien ne fonctionnera sans eux.

Écriture d'attributs étendus (writeextendedattributes). Eh bien, ce sont ceux qui sont utilisés pour la rétrocompatibilité avec les applications OS/2, oui. Eh bien, les chevaux de Troie (ZeroAccess.C) ont récemment commencé à être écrits dans les attributs étendus du fichier C:\Windows\system32\services.exe. Peut-être devriez-vous les désactiver au plus haut niveau ? Je ne peux pas donner de réponse à cette question, théoriquement - peut-être que ça vaut le coup, pratiquement en production - je ne l'ai pas essayé.

Suppression de sous-dossiers et de fichiers. (supprimer les sous-répertoires et les fichiers) Une autorisation intéressante qui ne s'applique qu'aux dossiers. Le but est de permettre à l'utilisateur de supprimer des sous-dossiers et des fichiers dans le dossier parent sans donner l'autorisation de suppression.

Supposons qu'il existe un catalogue de produits dans lequel les utilisateurs saisissent des données. Il y a un dossier parent Catalogue, à l'intérieur d'un sous-dossier par ordre alphabétique, de A à Z, à l'intérieur desquels se trouvent des noms. Les noms changent tous les jours, quelque chose est ajouté, quelque chose change, quelque chose devient obsolète et les informations obsolètes doivent être supprimées. Mais ce ne sera pas très bon si quelqu'un pirate l'intégralité du répertoire K à partir d'un parc ou d'une intention malveillante, ce qui est très possible si les utilisateurs ont le droit de suppression. Si vous supprimez le droit de suppression des utilisateurs, l'administrateur peut changer de travail en toute sécurité, car il répondra aux demandes de suppression de tel ou tel nom toute la journée.

C'est là que la suppression des sous-dossiers et des fichiers entre en jeu. L'héritage est désactivé pour toutes les lettres de l'alphabet et les utilisateurs disposent du droit Supprimer les sous-dossiers et les fichiers. Par conséquent, dans le dossier du catalogue, les utilisateurs ne pourront pas supprimer une seule lettre, mais à l'intérieur des lettres, ils pourront supprimer tout ce qu'ils veulent.

Supprimer (supprimer). Tout est simple ici. L'enlèvement est l'enlèvement. Ne fonctionne pas sans autorisation de lecture.

Autorisations de lecture donne à l'utilisateur le droit d'afficher les autorisations sur un dossier ou un fichier. Aucune autorisation - l'utilisateur ne voit pas l'autorisation dans l'onglet "Sécurité"

Modifier les autorisations (changepermissions)- permet à l'utilisateur de modifier les autorisations, faisant essentiellement de l'utilisateur l'administrateur du dossier. Il peut être utilisé, par exemple, pour déléguer l'autorité au support technique. Sans le droit de lire les autorisations, cela n'a aucun sens. Changer les autorisations ne signifie pas changer le propriétaire du dossier.

Changement de propriétaire (takeownership) Tout d'abord, qui est le propriétaire ? Le propriétaire est l'utilisateur qui a créé le fichier ou le dossier.

La particularité du propriétaire est qu'il a un accès complet au dossier créé, il peut distribuer des autorisations à son dossier créé, mais plus important encore, personne ne peut priver le propriétaire du droit de modifier les autorisations sur son dossier ou fichier. Si Vasya a créé un dossier, a donné à Petya un accès complet et que Petya est entré et a frappé l'accès des utilisateurs au dossier en général et à Vasya en particulier, alors Vasya peut facilement rétablir le statu quo, puisqu'il est le propriétaire du dossier. Petya ne pourra pas changer le propriétaire d'un dossier, même s'il dispose de l'autorisation de changement de propriétaire. De plus, même Vasya ne peut pas changer le propriétaire, malgré le fait qu'il ait créé le dossier. Le droit Modifier la propriété s'applique uniquement au groupe Administrateurs ou Administrateurs du domaine.

Mais si Petya a créé un fichier dans le dossier de Vasya et n'y a pas donné accès à Vasya, alors Vasya ne peut que penser et deviner ce qui est si secret dans ce fichier. Vasya ne pourra pas modifier les autorisations du fichier car Petya est le propriétaire du fichier. De plus, Vasya ne pourra pas changer le propriétaire du fichier - changer le propriétaire des sous-conteneurs et des objets est également un privilège du groupe Administrateurs, auquel Vasya n'appartient pas. La seule option qui reste à Vasya est de regarder le fichier de Petya dans son dossier.

Nous gérons

CMD utilise les icacls bien connus pour gérer les autorisations. Dans PowerShell, la gestion des autorisations NTFS ressemble à ceci :

Obtenir l'objet sur lequel nous allons définir des autorisations
$acl = get-acl c:\testperms
Construisez une chaîne de droits à l'aide de la classe System.Security.AccessControl.FileSystemAccessRule. Nous pouvons définir les paramètres suivants :

  • groupe / nom d'utilisateur - pour qui nous créons ACL
  • résolution - ACE (accepte les valeurs spécifiées dans le message)
  • s'applique à - dans l'interface graphique, il s'agit d'une liste déroulante dans les options de sécurité avancées. Il ne prend en fait que 3 valeurs : none (s'applique uniquement à ce dossier), containerinherit (s'applique à tous les sous-dossiers), objectinherit (s'applique à tous les fichiers). Les valeurs peuvent être combinées.
  • appliquez ces autorisations aux objets et conteneurs uniquement à l'intérieur de ce conteneur (case à cocher dans l'interface graphique) - également 3 valeurs : aucune (décochée), inheritonly (ACE s'applique uniquement au type d'objet sélectionné), nopropagateinherit (appliquez les autorisations uniquement à l'intérieur de ce conteneur).
  • règle - autoriser (autoriser) ou refuser (refuser)
La ligne des autorisations par défaut ressemblera à ceci :
$permission = "contoso.com\admin", "fullcontrol", "containerinherit, objectinherit", "aucun", "autoriser"
Créer un nouvel ACE avec les autorisations définies ci-dessus
$ace = nouvel-objet security.accesscontrol.filesystemaccessrule $permission
Et appliquez l'ACE fraîchement créé à l'objet
$acl.setaccessrule($ace) $acl | set-acl c:\testperms

Nous appliquons en pratique

Armé de la connaissance des autorisations SMB et NTFS, en les combinant, vous pouvez créer des règles d'accès de n'importe quelle complexité. Quelques exemples :
Taper Autorisations PME Autorisations NTFS
Dossier pour tout le monde (Public) Utilisateurs - Lecture/Écriture Utilisateurs - Modifier
Boîte noire. Les utilisateurs rejettent des rapports confidentiels, des propositions, des calomnies - lit la direction. Utilisateurs - Lecture/Écriture
Manuel - Lecture/Écriture
Utilisateurs - Entrée, s'applique uniquement à ce dossier. On suppose que l'écriture d'un fichier dans ce dossier est un aller simple, puisque moyen pratiqueédition sans le contenu du dossier Afficher Il n'y a pas de fichiers enregistrés dans ce dossier (d'ailleurs, il n'existe aucun moyen pratique pour les utilisateurs d'écrire dans un tel dossier). Et la navigation viole la vie privée.

Direction - Changement.

Applications Utilisateurs - Lire Utilisateurs - Lire, lire et exécuter, afficher le contenu du dossier.

Naturellement, certaines applications peuvent nécessiter des droits supplémentaires pour leur travail. Mais dans le cas général, par exemple, stocker les utilitaires système pour les diagnostics (la même Suite SysInternals) est tout à fait suffisant.

Des profils d'utilisateurs Par utilisateur - Lire/écrire dans son dossier A chaque utilisateur - Accédez à son dossier.

Les autorisations dans Windows sont une chose controversée. D'une part, les autorisations de base sont assez simples et couvrent 90% des cas. Mais lorsqu'un réglage plus fin commence à être nécessaire : différents groupes d'utilisateurs, un dossier, les exigences de sécurité pour les dossiers partagés, la gestion des autorisations supplémentaires, des héritages et des propriétaires peut être assez difficile.

J'espère que je n'ai plus confondu personne.

Labo #2

Sujet : Utilisation de techniques pour travailler avec le système de fichiers NTFS. Attribuez des autorisations d'accès aux fichiers et aux dossiers.

Délai de mise en œuvre:2 heures

Cible : Découvrez comment définir des autorisations NTFS pour les fichiers et les dossiers d'utilisateurs individuels et de groupes dans le système d'exploitation Systèmes Windows 7, ainsi que pour résoudre les problèmes d'accès aux ressources.

Informations théoriques

informations généralesà propos de l'utilisation des autorisations NTFS

Les autorisations NTFS vous permettent de spécifier explicitement quels utilisateurs et groupes ont accès aux fichiers et dossiers et quelles opérations ils sont autorisés à effectuer sur le contenu de ces fichiers ou dossiers. Les autorisations NTFS s'appliquent uniquement aux volumes formatés à l'aide du système de fichiers NTFS. Ils ne sont pas disponibles pour les volumes utilisant les systèmes de fichiers FAT ou FAT32. La sécurité NTFS est efficace, que l'utilisateur accède à un fichier ou à un dossier situé sur l'ordinateur local ou sur un réseau.

Les autorisations définies pour les dossiers sont différentes des autorisations définies pour les fichiers. Les administrateurs, les propriétaires de fichiers ou de dossiers et les utilisateurs disposant de l'autorisation Contrôle total peuvent attribuer des autorisations NTFS aux utilisateurs et aux groupes pour contrôler l'accès à ces fichiers et dossiers. Liste de contrôle d'accès

Stocké en NTFS liste de contrôle d'accès (liste de contrôle d'accès - LCA) pour chaque fichier et dossier sur un volume NTFS. Cette liste répertorie les utilisateurs et les groupes disposant d'autorisations définies pour le fichier ou le dossier, ainsi que les autorisations attribuées elles-mêmes. Pour qu'un utilisateur accède à une ressource, il doit y avoir une entrée dans l'ACL appelée élément de la liste de contrôle d'accès (entrée de contrôle d'accès - ACE) pour cet utilisateur ou groupe auquel il appartient. Cette entrée attribuera le type d'accès demandé (par exemple, Lecture) utilisateur. S'il n'y a pas d'ACE correspondant dans l'ACL, l'utilisateur ne pourra pas accéder à la ressource.

Autorisations NTFS multiples

Vous pouvez définir plusieurs autorisations pour un utilisateur et tous les groupes dont il est membre. Pour ce faire, vous devez connaître les règles et la priorité selon lesquelles NTFS attribue et combine plusieurs autorisations et l'héritage des autorisations NTFS.

Autorisations effectives. Les autorisations utilisateur effectives sur une ressource sont l'ensemble des autorisations NTFS que vous attribuez à un utilisateur individuel et à tous les groupes auxquels il appartient. Si un utilisateur dispose également d'une autorisation de lecture sur un dossier et fait partie d'un groupe disposant d'une autorisation d'écriture sur le même dossier, cet utilisateur dispose des deux autorisations.

Définition des autorisations NTFS et des autorisations spéciales

Vous devez suivre certaines directives lors de la définition des autorisations NTFS. Définissez les autorisations en fonction des besoins des groupes et des utilisateurs, ce qui inclut l'autorisation ou l'interdiction d'hériter des autorisations du dossier parent par les sous-dossiers et les fichiers contenus dans le dossier parent.

Si vous prenez un peu de temps pour planifier vos autorisations NTFS et suivez quelques directives lors de la planification, vous constaterez que les autorisations sont faciles à gérer.

Pour simplifier le processus d'administration, regroupez les fichiers dans des dossiers des types suivants : dossiers d'application, dossiers de données, dossiers personnels. Centralisez les dossiers publics et privés sur un volume séparé sans fichier système opérateur et d'autres applications. Ce faisant, vous bénéficierez des avantages suivants :

Vous pouvez définir des autorisations uniquement pour les dossiers, pas pour les fichiers individuels ;

Simplifiez le processus Réserver une copie puisque vous n'avez pas à faire sauvegardes les fichiers d'application et tous les dossiers publics et privés sont au même endroit.

· Définissez les utilisateurs uniquement sur le niveau d'accès dont ils ont besoin. Si un fichier doit être lu, définissez l'autorisation de lecture de l'utilisateur sur ce fichier. Cela réduira le risque qu'un utilisateur modifie accidentellement un fichier ou supprime des documents importants et des fichiers d'application.

· Créez des groupes en fonction du type d'accès dont les membres du groupe ont besoin, puis définissez les autorisations appropriées pour le groupe. Attribuez des autorisations à des utilisateurs individuels uniquement lorsque cela est nécessaire.

· Lorsque vous définissez des autorisations pour travailler avec des données ou des fichiers d'application, définissez l'autorisation de lecture et d'exécution pour les groupes d'utilisateurs. Vateli et Administrateurs. Cela empêchera les fichiers d'application d'être accidentellement supprimés ou corrompus par des virus ou des utilisateurs.

· Lorsque vous définissez des autorisations sur des dossiers de données partagés, attribuez les autorisations de lecture et d'exécution et d'écriture au groupe Utilisateurs et l'autorisation Contrôle total au groupe Créateur propriétaire. Par défaut, l'utilisateur qui a créé le document est également le propriétaire du document. Le propriétaire d'un fichier peut autoriser un autre utilisateur à devenir propriétaire du fichier. L'utilisateur qui accepte de tels droits dans ce cas devient le propriétaire du fichier. Si vous définissez l'autorisation Lire et exécuter et Écrire sur le groupe Utilisateurs et l'autorisation Contrôle total sur le groupe Propriétaire créateur, les utilisateurs pourront lire et modifier les documents créés par d'autres utilisateurs, ainsi que lire, modifier et supprimer des fichiers. et les dossiers qu'ils créent.

Avec l'aide des autorisations NTFS, nous pouvons différencier plus en détail les droits dans le dossier. Nous pouvons interdire à un certain groupe de modifier un certain fichier, laissant la possibilité de modifier l'intégralité du fichier principal ; dans le même dossier, un groupe d'utilisateurs peut avoir le droit de modifier un fichier et ne pas être en mesure de visualiser d'autres fichiers modifiés par un autre groupe d'utilisateurs, et vice versa. En bref, les autorisations NTFS nous permettent de créer un système d'accès très flexible, l'essentiel est de ne pas s'embrouiller plus tard. De plus, les autorisations NTFS fonctionnent à la fois lors de l'accès à un dossier sur le réseau, en complément des autorisations d'accès partagé, et lors de l'accès local aux fichiers et dossiers.

Il existe six autorisations de base, qui sont une combinaison de 14 autorisations avancées.

AUTORISATIONS DE BASE :

  • Controle total– accès complet à un dossier ou fichier, avec la possibilité de modifier les droits d'accès et les règles d'audit pour les dossiers et fichiers
  • Changer (modifier)– le droit de lire, modifier, visualiser le contenu d'un dossier, supprimer des dossiers/fichiers et exécuter des fichiers exécutables. Comprend Lire et exécuter (readandexecute), Write (écrire) et Delete (supprimer).
  • Lecture et exécution (readandexecute)- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Il est également possible de lancer des fichiers exécutables.
  • Lister le contenu du dossier (listdirectory)- le droit de visualiser le contenu du dossier
  • Lecture- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Inclut le contenu du dossier / les données de lecture (readdata), les attributs de lecture (readattributes), les attributs étendus de lecture (readextendedattributes) et les autorisations de lecture (readpermissions)
  • Écrivez– le droit de créer des dossiers et des fichiers, de modifier des fichiers. Comprend Créer des fichiers / Écrire des données (writedata), Créer des dossiers / Ajouter des données (appenddata), Écrire des attributs (writeattributes) et Écrire des attributs étendus (writeextendedattributes)

AUTORISATIONS SUPPLÉMENTAIRES

  • Parcours dossier / Exécution fichier (parcours)– le droit d'exécuter et de lire des fichiers, quels que soient les droits d'accès au dossier. L'utilisateur n'aura pas accès au dossier (ce qu'il y a dans le dossier restera un mystère), mais les fichiers du dossier seront accessibles via un lien direct (chemin complet, relatif ou UNC). Vous pouvez mettre sur le dossier les dossiers Traverse et sur le fichier toutes les autres autorisations dont l'utilisateur a besoin pour travailler. L'utilisateur ne pourra pas créer et supprimer des fichiers dans le dossier.
  • Contenu du dossier / Lecture des données (readdata)– le droit de visualiser le contenu du dossier sans possibilité de modification. Vous ne pouvez pas lancer ou ouvrir des fichiers dans le dossier surveillé
  • Lecture des attributs (readattributes)– le droit de visualiser les attributs (FileAttributes) d'un dossier ou d'un fichier. Vous ne pouvez pas afficher le contenu d'un dossier ou de fichiers ni modifier les attributs.
  • Lecture des attributs étendus (readextendedattributes)– le droit de visualiser les attributs supplémentaires d'un dossier ou d'un fichier.
  • Création de fichiers / écriture de données (writedata)- donne à l'utilisateur la possibilité de créer des fichiers dans un dossier auquel il n'a pas accès. Vous pouvez copier des fichiers dans un dossier et créer de nouveaux fichiers dans le dossier. Vous ne pouvez pas afficher le contenu d'un dossier, créer de nouveaux dossiers ou modifier des fichiers existants. L'utilisateur ne pourra modifier aucun fichier, même s'il est le propriétaire de ce fichier - seulement créer.
  • Création de dossiers / ajout de données (appenddata)– permet à l'utilisateur de créer des sous-dossiers dans un dossier et d'ajouter des données à la fin du fichier sans modifier le contenu existant.

Pourquoi la plupart des organisations ont-elles besoin d'un serveur ? Active Directory, RDS, serveur d'impression et un tas de petits et grands services. Le rôle le plus visible pour tous, peut-être, est le serveur de fichiers. Avec lui, les gens, contrairement à d'autres rôles, travaillent le plus consciemment. Ils se souviennent dans quel dossier ce qui est, où sont les scans des documents, où sont leurs rapports, où sont les fax, où est le dossier partagé, dans lequel tout est possible, où un seul des départements peut accéder, où l'autre, et certains qu'ils ne connaissent pas du tout

Je veux parler de l'accès au réseau et aux dossiers locaux sur le serveur.

L'accès aux ressources partagées sur le serveur s'effectue, comme tout le monde le sait très bien, en utilisant le protocole SMB déjà 3.0. L'accès réseau aux dossiers peut être limité par les autorisations SMB et NTFS. Les autorisations SMB ne fonctionnent que lors de l'accès à un dossier partagé sur le réseau et n'ont aucun effet sur la disponibilité d'un dossier particulier localement. Les autorisations NTFS fonctionnent à la fois sur le réseau et localement, offrant beaucoup plus de flexibilité dans la création d'autorisations. Les autorisations SMB et NTFS ne fonctionnent pas séparément, mais se complètent, selon le principe de la plus grande restriction des droits.

Afin de partager un dossier dans Server 2012 dans le groupe SMB Share Cmdlets, la cmdlet New-SMBShare est apparue. En utilisant cette applet de commande comme exemple, nous verrons toutes les possibilités disponibles lors de la création d'un dossier partagé, à l'exception des configurations de cluster (il s'agit d'un sujet volumineux séparé).

La création d'un nouveau dossier partagé semble très simple :
net share homefolder=s:\ivanivanov /grant:"admin",full /grant:"folderowner",change /grant:"manager",read /cache:programs /remark:"Ivanov" ou
new-smbshare homefolder s:\ivanivanov –cachingmode programmes –fullaccess admin –changeaccess folderowner –readaccess manager –noaccess all –folderenumerationmode accessbased -description "Ivanov"

Compréhension:

-name nom du dossier partagé sur le réseau, peut être différent du nom du dossier sur l'ordinateur local. A une limite de 80 caractères, les noms de canal et de fente ne peuvent pas être utilisés.

Path est le chemin d'accès au dossier local à partager. Le chemin doit être complet, en partant de la racine du lecteur.

Cachingmode définissant l'autonomie des fichiers dans un dossier partagé.

Qu'est-ce qu'un fichier hors ligne ?

Un fichier hors ligne est une copie d'un fichier situé sur un serveur. Cette copie se trouve sur l'ordinateur local et vous permet de travailler avec le fichier sans vous connecter au serveur. Une fois connecté, les changements sont synchronisés. Synchronisé dans les deux sens : si vous avez apporté des modifications à votre fichier hors ligne, la prochaine fois que vous vous connecterez, le fichier sur le serveur sera modifié ; si quelqu'un a apporté des modifications sur le serveur, votre copie locale sera modifiée. Si des modifications ont eu lieu dans les deux fichiers à la fois, nous obtenons une erreur de synchronisation et devrons choisir la version à enregistrer. Pour la collaboration, je n'utiliserais pas cette fonctionnalité, mais si pour chaque utilisateur on faisait une boule et restreignait l'accès des autres à la lecture, sans la possibilité d'écrire, on obtenait les goodies suivants :

  • Le travail ne dépend pas du réseau - le commutateur peut griller, le serveur peut redémarrer, le fil peut se rompre ou le point d'accès peut s'éteindre - l'utilisateur travaille avec sa copie sans remarquer que vous avez une sorte d'accident là-bas, quand la connexion réseau est rétablie, son travail va au serveur.
  • L'utilisateur peut travailler n'importe où : dans le pays, dans le bus, dans l'avion - dans les endroits où la connexion VPN n'est pas disponible pour une raison quelconque.
  • Même si l'utilisateur travaille via un VPN, mais que la connexion est soit très lente, soit constamment déconnectée, il est plus facile de travailler avec une copie hors ligne et de synchroniser les modifications que d'essayer de faire quelque chose sur le serveur.
  • L'utilisateur lui-même peut choisir quoi et quand synchroniser, s'il en a la possibilité.

Prend les valeurs suivantes :
  • aucun - les fichiers ne sont pas disponibles hors ligne, l'accès aux fichiers nécessite l'accès au serveur
  • manuel - les utilisateurs choisissent eux-mêmes les fichiers qui seront disponibles hors ligne
  • programmes - tout ce qui se trouve dans le dossier est disponible hors ligne (documents et programmes (fichiers avec *.exe, *.dll extension))
  • documents - les documents sont disponibles, pas de programme
  • branchcache - au lieu de l'ordinateur local de l'utilisateur, la mise en cache se produit sur les serveurs BranchCache, les utilisateurs eux-mêmes choisissent des fichiers hors ligne
-noaccess, -readaccess, -changeaccess, -fullaccess partager les autorisations.

Ces autorisations ont un gros avantage - elles sont très simples.

Pas d'accès secrétaire,intendant - le secrétaire et le responsable de l'approvisionnement n'ont rien à voir dans les dossiers publics du service comptable
-auditeur readaccess - un auditeur qui vérifie le travail du service comptable peut voir les noms des fichiers et des sous-dossiers dans un dossier partagé, ouvrir des fichiers en lecture, exécuter des programmes.
-changeaccess accountant - les comptables dans leur dossier partagé peuvent créer des fichiers et des sous-dossiers, modifier des fichiers existants, supprimer des fichiers et des sous-dossiers
-fullaccess admin - fullaccess est readaccess + changeaccess plus la possibilité de modifier les autorisations.

Lors de la création d'un dossier partagé, la règle la plus restrictive est automatiquement appliquée - le groupe "Tout le monde" a le droit de lecture.

Ces autorisations s'appliquent uniquement aux utilisateurs accédant au dossier partagé sur le réseau. Lors d'une connexion locale, par exemple, dans le cas d'un serveur de terminaux, la secrétaire et le responsable de l'approvisionnement verront tout ce qu'ils veulent dans le service comptable. Ceci est corrigé par les autorisations NTFS. Les autorisations SMB s'appliquent à tous les fichiers et dossiers du partage. Le réglage fin des droits d'accès est également effectué par les autorisations NTFS.

Concurrentuserlimit Utilisez ce paramètre pour limiter le nombre maximal de connexions à un dossier partagé. En principe, il peut également être utilisé pour restreindre l'accès à un dossier, en complément des autorisations NTFS, il vous suffit d'être sûr du nombre de connexions requis.

Description Description de la ressource partagée visible dans l'environnement réseau. La description est une très bonne chose que beaucoup de gens négligent.

cryptercryptage des données

Dans SMB avant la version 3.0, le seul moyen de sécuriser le trafic du serveur de fichiers vers le client était d'utiliser un VPN. La manière de l'implémenter dépendait entièrement des préférences de l'administrateur système : tunnels SSL, PPTP, IPSEC ou autre. Dans Server 2012, le chiffrement est prêt à l'emploi, sur un réseau local normal ou sur des réseaux non approuvés, sans nécessiter de solutions d'infrastructure spéciales. Il peut être activé pour l'ensemble du serveur ou pour des dossiers partagés individuels. L'algorithme de chiffrement dans SMB 3.0 est AES-CCM, l'algorithme de hachage est AES-CMAC au lieu de HMAC-SHA256. La bonne nouvelle est que SMB 3.0 prend en charge l'AES matériel (AES-NI), la mauvaise nouvelle est que la Russie ne prend pas en charge l'AES-NI.

Qu'est-ce qui menace l'inclusion du cryptage ? Le fait que seuls les clients prenant en charge SMB 3.0, c'est-à-dire Windows 8, pourront travailler avec des dossiers partagés cryptés.La raison, encore une fois, est la restriction maximale autorisée des droits d'utilisateur. On suppose que l'administrateur sait ce qu'il fait et, si nécessaire, donnera accès aux clients avec une version différente de SMB. Mais comme SMB 3.0 utilise de nouveaux algorithmes de cryptage et de hachage, le trafic client avec une version différente de SMB ne sera pas crypté, un VPN est nécessaire. La commande set-smbserverconfiguration –rejectunencryptedaccess $false permettra à tous les clients d'accéder au serveur de fichiers avec le chiffrement activé.
Dans la configuration par défaut (pas de trafic non crypté vers les dossiers partagés cryptés), lorsque vous essayez d'accéder à un dossier client avec une version SMB inférieure à 3.0 sur le client, nous recevons une "Erreur d'accès". Sur le serveur, l'événement 1003 sera ajouté au journal Microsoft-Windows-SmbServer/Operational, où vous pourrez trouver l'adresse IP du client qui a tenté d'accéder.

Le cryptage SMB et EFS sont des choses différentes qui n'ont rien à voir, c'est-à-dire qu'il peut être utilisé sur des volumes FAT et ReFS.

Folderenumerationmode Il s'agit d'une énumération basée sur l'accès. Avec l'énumération basée sur l'accès activée, les utilisateurs qui n'ont pas accès au dossier partagé ne le verront tout simplement pas sur le serveur de fichiers, et il y aura moins de questions sur la raison pour laquelle je n'ai pas accès à tel ou tel dossier. L'utilisateur voit ses dossiers disponibles et n'essaie pas de se mêler des affaires des autres. La valeur par défaut est désactivée.

  • basé sur l'accès - activer
  • illimité - désactiver
-temporary Ce commutateur crée un dossier partagé temporaire qui sera indisponible après un redémarrage du serveur. Par défaut, des dossiers partagés persistants sont créés.

Autorisations NTFS

Avec l'aide des autorisations NTFS, nous pouvons différencier plus en détail les droits dans le dossier. Nous pouvons interdire à un certain groupe de modifier un certain fichier, laissant la possibilité de modifier l'intégralité du fichier principal ; dans le même dossier, un groupe d'utilisateurs peut avoir le droit de modifier un fichier et ne pas être en mesure de visualiser d'autres fichiers modifiés par un autre groupe d'utilisateurs, et vice versa. En bref, les autorisations NTFS nous permettent de créer un système d'accès très flexible, l'essentiel est de ne pas s'embrouiller plus tard. De plus, les autorisations NTFS fonctionnent à la fois lors de l'accès à un dossier sur le réseau, en complément des autorisations d'accès partagé, et lors de l'accès local aux fichiers et dossiers.

Il existe six autorisations de base, qui sont une combinaison de 14 autorisations avancées.

Autorisations de base
Controle total– accès complet à un dossier ou fichier, avec la possibilité de modifier les droits d'accès et les règles d'audit pour les dossiers et fichiers

Changer (modifier)– le droit de lire, modifier, visualiser le contenu d'un dossier, supprimer des dossiers/fichiers et exécuter des fichiers exécutables. Comprend Lire et exécuter (readandexecute), Write (écrire) et Delete (supprimer).

Lecture et exécution (readandexecute)- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Il est également possible de lancer des fichiers exécutables.

Lister le contenu du dossier (listdirectory)- le droit de visualiser le contenu du dossier

Lecture- le droit d'ouvrir des dossiers et des fichiers en lecture, sans la capacité d'écrire. Inclut le contenu du dossier / les données de lecture (readdata), les attributs de lecture (readattributes), les attributs étendus de lecture (readextendedattributes) et les autorisations de lecture (readpermissions)

Écrivez– le droit de créer des dossiers et des fichiers, de modifier des fichiers. Comprend Créer des fichiers / Écrire des données (writedata), Créer des dossiers / Ajouter des données (appenddata), Écrire des attributs (writeattributes) et Écrire des attributs étendus (writeextendedattributes)

Autorisations supplémentaires
J'ai mis seulement 1 des 14 autorisations sur le dossier et j'ai regardé ce qui s'est passé. Dans le monde réel, dans la plupart des cas, les autorisations de base suffisent, mais j'étais intéressé par le comportement des dossiers et des fichiers avec les autorisations les plus réduites.

Parcours dossier / Exécution fichier (parcours)– le droit d'exécuter et de lire des fichiers, quels que soient les droits d'accès au dossier. L'utilisateur n'aura pas accès au dossier (ce qu'il y a dans le dossier restera un mystère), mais les fichiers du dossier seront accessibles via un lien direct (chemin complet, relatif ou UNC). Vous pouvez mettre sur le dossier les dossiers Traverse et sur le fichier toutes les autres autorisations dont l'utilisateur a besoin pour travailler. L'utilisateur ne pourra pas créer et supprimer des fichiers dans le dossier.

Lecture des attributs (readattributes)– le droit de visualiser les attributs (FileAttributes) d'un dossier ou d'un fichier.
Vous ne pouvez pas afficher le contenu d'un dossier ou de fichiers ni modifier les attributs.

Lecture des attributs étendus (readextendedattributes)– le droit de visualiser les attributs supplémentaires d'un dossier ou d'un fichier.

La seule chose que j'ai pu trouver sur les attributs supplémentaires est qu'ils sont utilisés pour la rétrocompatibilité avec les applications OS/2. (Windows Internals, Part 2: Covering Windows Server 2008 R2 and Windows 7). Je ne sais rien de plus sur eux.

Création de fichiers / écriture de données (writedata)- donne à l'utilisateur la possibilité de créer des fichiers dans un dossier auquel il n'a pas accès. Vous pouvez copier des fichiers dans un dossier et créer de nouveaux fichiers dans le dossier. Vous ne pouvez pas afficher le contenu d'un dossier, créer de nouveaux dossiers ou modifier des fichiers existants. L'utilisateur ne pourra modifier aucun fichier, même s'il est le propriétaire de ce fichier - seulement créer.

Création de dossiers / ajout de données (appenddata)– permet à l'utilisateur de créer des sous-dossiers dans un dossier et d'ajouter des données à la fin du fichier sans modifier le contenu existant.

Examen

Avec la création de sous-dossiers, tout est clair : ni c:\testperms\testappend - le répertoire itemtype fonctionnera comme prévu - il créera un sous-dossier testappend dans le dossier testperms qui est inaccessible à l'utilisateur. Essayons d'ajouter une ligne à la fin du fichier - simulons une sorte de journalisation. nouvel événement >> c:\testperms\user.log Accès refusé.
Hmm... Ne fonctionne pas dans CMD. Et si oui. ac c:\testperms\user.log newevent ac : Accès refusé au chemin 'C:\testperms\user.log'.
Et le convoyeur ? "nouvel événement" | out-file c:\testperms\user.log -append out-file : accès refusé au chemin 'C:\testperms\user.log'.
Et ça ne marche pas.

Commençons la séance de magie noire : nous utilisons la classe File, la méthode AppendText. Nous obtenons l'objet log.
$log = ::appendtext("c:\testperms\user.log") Exception lors de l'appel de "AppendText" avec les arguments "1" : "Autorisation refusée sur le chemin 'c:\testperms\user.log'."
Je pense que AppendAllText ne vaut plus la peine d'essayer
$log = ::appendalltext("c:\testperms\user.log","newevent") Exception lors de l'appel de "AppendAllText" avec "2" arguments : "Autorisation refusée sur le chemin 'c:\testperms\user.log'" ."
Le point est, en principe, clair. Seules les méthodes ci-dessus n'ont pas le droit d'ajouter des données au fichier, elles doivent écrire dans le fichier. Mais en même temps, nous donnerons la possibilité de modifier le fichier, et pas seulement d'ajouter des entrées, c'est-à-dire que nous ouvrirons la possibilité potentielle de détruire tout le contenu du fichier.

Nous devons reconsidérer le concept : n'obtenons pas un objet de journal, mais créons-en un nouveau dans lequel nous définissons tous les paramètres qui nous intéressent. Nous avons besoin de quelque chose où nous pouvons explicitement définir des autorisations. Nous avons besoin d'un FileStream , et plus précisément, FileStream Constructor (String, FileMode, FileSystemRights, FileShare, Int32, FileOptions) nous aidera. Les paramètres suivants sont requis :

  • Le chemin d'accès au fichier est clair
  • Comment ouvrir un fichier - ouvrir un fichier et trouver la fin du fichier
  • Autorisations de fichier - ajout de données
  • Accès pour d'autres objets FileStream - pas nécessaire
  • Taille du tampon - 8 octets par défaut
  • Options supplémentaires - non
Il s'avère quelque chose comme ceci:
$log = nouvel-objet io.filestream("c:\testperms\user.log",::append,::appenddata,::none,8,::none)
Travail! Nous avons créé l'objet log, essayons d'y écrire quelque chose. La méthode FileStream.Write accepte les valeurs d'entrée en octets. Nous distillons l'événement que nous voulons écrire en octets - la classe Encoding, la méthode GetEncoding (nous n'avons pas besoin de raccourcis sur la sortie) et GetBytes (en fait, la conversion)
$event = "Un nouvel événement s'est produit." $eventbytes = ::getencoding("windows-1251").getbytes($event)
Options FileStream.Write :
Quoi écrire; où commencer à écrire ; nombre d'octets à écrire
Nous écrivons :
$log.write($eventbytes,0,$eventbytes.count)
Nous vérifions.
gc c:\testperms\user.log gc : accès refusé au chemin 'C:\testperms\user.log'.
Tout va bien, l'utilisateur n'a pas le droit de voir ce qui est écrit. Nous nous connectons sous l'administrateur.
gc c:\testperms\user.log Un nouvel événement s'est produit.
Tout fonctionne.

Le dossier dans lequel se trouve le fichier, en plus de l'autorisation Créer des dossiers/ajouter des données, doit également disposer de l'autorisation Dossier de contenu/Lire les données. Seule la création de dossiers / l'ajout de données avec un héritage désactivé suffit pour un fichier. Il ne sera pas possible de protéger complètement l'utilisateur (et un attaquant peut aussi être un utilisateur) des fichiers dans lesquels il doit écrire quelque chose, mais en revanche, l'utilisateur ne verra rien sauf la liste des fichiers dans le dossier et ne pourra rien faire.

La conclusion est simple : il est impossible d'implémenter une journalisation sécurisée dans les fichiers batch, PowerShell permet d'économiser la possibilité de travailler avec des objets .NET.


Attributs d'écriture (writeattributes)- permettre à l'utilisateur de modifier les attributs d'un fichier ou d'un dossier. Tout semble simple. Mais voici juste pour répondre à la question : « Les photos de mes chats occupent presque toute la place dans mon profil et je n'ai pas de place pour la correspondance commerciale. Je voudrais compresser le dossier cat, mais ils nécessitent des droits d'administrateur. Vous avez dit que j'ai le droit de modifier les attributs du dossier. Est-ce un attribut ? Pourquoi ne puis-je pas le changer ?"

Oui, un utilisateur disposant de l'autorisation Écrire des attributs peut modifier presque tous les attributs visibles des fichiers et des dossiers, à l'exception des attributs de compression et de chiffrement. Techniquement, l'utilisateur a le droit d'exécuter la fonction SetFileAttributes. Et la compression des fichiers est effectuée par la fonction DeviceIOControl, à laquelle vous devez passer le paramètre FSCTL_SET_COMPRESSION, et la compression des fichiers est loin d'être son seul travail. Avec cette fonction, nous pouvons gérer tous les appareils et leurs ressources dans le système et, probablement, donner à l'utilisateur ce droit d'exécuter cette fonction signifie en faire un administrateur.

Avec le chiffrement, l'histoire est similaire : la fonction EncryptFile, qui se charge du chiffrement, nécessite que l'utilisateur ait les droits Content Folder / Read Data, Create Files / Write Data, Read Attributes, Write Attributes et Synchronize sur un objet. Rien ne fonctionnera sans eux.

Écriture d'attributs étendus (writeextendedattributes). Eh bien, ce sont ceux qui sont utilisés pour la rétrocompatibilité avec les applications OS/2, oui. Eh bien, les chevaux de Troie (ZeroAccess.C) ont récemment commencé à être écrits dans les attributs étendus du fichier C:\Windows\system32\services.exe. Peut-être devriez-vous les désactiver au plus haut niveau ? Je ne peux pas donner de réponse à cette question, théoriquement - peut-être que ça vaut le coup, pratiquement en production - je ne l'ai pas essayé.

Suppression de sous-dossiers et de fichiers. (supprimer les sous-répertoires et les fichiers) Une autorisation intéressante qui ne s'applique qu'aux dossiers. Le but est de permettre à l'utilisateur de supprimer des sous-dossiers et des fichiers dans le dossier parent sans donner l'autorisation de suppression.

Supposons qu'il existe un catalogue de produits dans lequel les utilisateurs saisissent des données. Il y a un dossier parent Catalogue, à l'intérieur d'un sous-dossier par ordre alphabétique, de A à Z, à l'intérieur desquels se trouvent des noms. Les noms changent tous les jours, quelque chose est ajouté, quelque chose change, quelque chose devient obsolète et les informations obsolètes doivent être supprimées. Mais ce ne sera pas très bon si quelqu'un pirate l'intégralité du répertoire K à partir d'un parc ou d'une intention malveillante, ce qui est très possible si les utilisateurs ont le droit de suppression. Si vous supprimez le droit de suppression des utilisateurs, l'administrateur peut changer de travail en toute sécurité, car il répondra aux demandes de suppression de tel ou tel nom toute la journée.

C'est là que la suppression des sous-dossiers et des fichiers entre en jeu. L'héritage est désactivé pour toutes les lettres de l'alphabet et les utilisateurs disposent du droit Supprimer les sous-dossiers et les fichiers. Par conséquent, dans le dossier du catalogue, les utilisateurs ne pourront pas supprimer une seule lettre, mais à l'intérieur des lettres, ils pourront supprimer tout ce qu'ils veulent.

Supprimer (supprimer). Tout est simple ici. L'enlèvement est l'enlèvement. Ne fonctionne pas sans autorisation de lecture.

Autorisations de lecture donne à l'utilisateur le droit d'afficher les autorisations sur un dossier ou un fichier. Aucune autorisation - l'utilisateur ne voit pas l'autorisation dans l'onglet "Sécurité"

Modifier les autorisations (changepermissions)- permet à l'utilisateur de modifier les autorisations, faisant essentiellement de l'utilisateur l'administrateur du dossier. Il peut être utilisé, par exemple, pour déléguer l'autorité au support technique. Sans le droit de lire les autorisations, cela n'a aucun sens. Changer les autorisations ne signifie pas changer le propriétaire du dossier.

Changement de propriétaire (takeownership) Tout d'abord, qui est le propriétaire ? Le propriétaire est l'utilisateur qui a créé le fichier ou le dossier.

La particularité du propriétaire est qu'il a un accès complet au dossier créé, il peut distribuer des autorisations à son dossier créé, mais plus important encore, personne ne peut priver le propriétaire du droit de modifier les autorisations sur son dossier ou fichier. Si Vasya a créé un dossier, a donné à Petya un accès complet et que Petya est entré et a frappé l'accès des utilisateurs au dossier en général et à Vasya en particulier, alors Vasya peut facilement rétablir le statu quo, puisqu'il est le propriétaire du dossier. Petya ne pourra pas changer le propriétaire d'un dossier, même s'il dispose de l'autorisation de changement de propriétaire. De plus, même Vasya ne peut pas changer le propriétaire, malgré le fait qu'il ait créé le dossier. Le droit Modifier la propriété s'applique uniquement au groupe Administrateurs ou Administrateurs du domaine.

Mais si Petya a créé un fichier dans le dossier de Vasya et n'y a pas donné accès à Vasya, alors Vasya ne peut que penser et deviner ce qui est si secret dans ce fichier. Vasya ne pourra pas modifier les autorisations du fichier car Petya est le propriétaire du fichier. De plus, Vasya ne pourra pas changer le propriétaire du fichier - changer le propriétaire des sous-conteneurs et des objets est également un privilège du groupe Administrateurs, auquel Vasya n'appartient pas. La seule option qui reste à Vasya est de regarder le fichier de Petya dans son dossier.

Nous gérons

CMD utilise les icacls bien connus pour gérer les autorisations. Dans PowerShell, la gestion des autorisations NTFS ressemble à ceci :

Obtenir l'objet sur lequel nous allons définir des autorisations
$acl = get-acl c:\testperms
Construisez une chaîne de droits à l'aide de la classe System.Security.AccessControl.FileSystemAccessRule. Nous pouvons définir les paramètres suivants :

  • groupe / nom d'utilisateur - pour qui nous créons ACL
  • résolution - ACE (accepte les valeurs spécifiées dans le message)
  • s'applique à - dans l'interface graphique, il s'agit d'une liste déroulante dans les options de sécurité avancées. Il ne prend en fait que 3 valeurs : none (s'applique uniquement à ce dossier), containerinherit (s'applique à tous les sous-dossiers), objectinherit (s'applique à tous les fichiers). Les valeurs peuvent être combinées.
  • appliquez ces autorisations aux objets et conteneurs uniquement à l'intérieur de ce conteneur (case à cocher dans l'interface graphique) - également 3 valeurs : aucune (décochée), inheritonly (ACE s'applique uniquement au type d'objet sélectionné), nopropagateinherit (appliquez les autorisations uniquement à l'intérieur de ce conteneur).
  • règle - autoriser (autoriser) ou refuser (refuser)
La ligne des autorisations par défaut ressemblera à ceci :
$permission = "contoso.com\admin", "fullcontrol", "containerinherit, objectinherit", "aucun", "autoriser"
Créer un nouvel ACE avec les autorisations définies ci-dessus
$ace = nouvel-objet security.accesscontrol.filesystemaccessrule $permission
Et appliquez l'ACE fraîchement créé à l'objet
$acl.setaccessrule($ace) $acl | set-acl c:\testperms

Nous appliquons en pratique

Armé de la connaissance des autorisations SMB et NTFS, en les combinant, vous pouvez créer des règles d'accès de n'importe quelle complexité. Quelques exemples :
Taper Autorisations PME Autorisations NTFS
Dossier pour tout le monde (Public) Utilisateurs - Lecture/Écriture Utilisateurs - Modifier
Boîte noire. Les utilisateurs rejettent des rapports confidentiels, des propositions, des calomnies - lit la direction. Utilisateurs - Lecture/Écriture
Manuel - Lecture/Écriture
Utilisateurs - Entrée, s'applique uniquement à ce dossier. Il est supposé que l'écriture d'un fichier dans ce dossier est un aller simple, car il n'existe aucun moyen pratique de modifier les fichiers enregistrés dans ce dossier sans l'autorisation Afficher le contenu du dossier (en passant, il n'y a pas non plus de moyen pratique pour les utilisateurs de écrire dans un tel dossier). Et la navigation viole la vie privée.

Direction - Changement.

Applications Utilisateurs - Lire Utilisateurs - Lire, lire et exécuter, afficher le contenu du dossier.

Naturellement, certaines applications peuvent nécessiter des droits supplémentaires pour leur travail. Mais dans le cas général, par exemple, stocker les utilitaires système pour les diagnostics (la même Suite SysInternals) est tout à fait suffisant.

Des profils d'utilisateurs Par utilisateur - Lire/écrire dans son dossier A chaque utilisateur - Accédez à son dossier.

Les autorisations dans Windows sont une chose controversée. D'une part, les autorisations de base sont assez simples et couvrent 90% des cas. Mais lorsqu'un réglage plus fin commence à être nécessaire : différents groupes d'utilisateurs, un dossier, les exigences de sécurité pour les dossiers partagés, la gestion des autorisations supplémentaires, des héritages et des propriétaires peut être assez difficile.

J'espère que je n'ai plus confondu personne.