J'ai un scénario impliquant un serveur de fichiers Windows où le "propriétaire" veut distribuer des autorisations à un groupe d'utilisateurs du type suivant:
\\server\dir1\dir2\dir3
: lire, écrire et exécuter\\server\dir1\dir2
: pas de permissions\\server\dir1
: pas de permissions\\server
: lire et exécuter
À ma connaissance ( mise à jour : tout ce paragraphe est faux!), Il n'est pas possible de le faire car une Read & Execute
autorisation doit être accordée à tous les répertoires parents d'une chaîne de répertoires pour que le système d'exploitation puisse «voir» l'enfant. répertoires et y accéder. Sans cette autorisation, vous ne pouvez même pas obtenir le jeton de contexte de sécurité lorsque vous essayez d'accéder au répertoire imbriqué, même si vous avez un accès complet au sous-répertoire.
Nous recherchons des moyens de contourner ce problème, sans déplacer les données de \\server\dir1\dir2\dir3
vers \\server\dir4
.
Une solution de contournement à laquelle j'ai pensé, mais dont je ne sais pas si cela fonctionnera, consiste à créer une sorte de lien ou de jonction \\server\dir4
qui est une référence \\server\dir1\dir2\dir3
. Je ne sais pas laquelle des options disponibles (le cas échéant) fonctionnerait à cette fin si l'utilisateur n'a pas d' Read & Execute
autorisation sur \\server\dir1\dir2
ou \\server\dir1
, mais pour autant que je sache, les options sont les suivantes:
- Lien symbolique NTFS,
- Jonction,
- Lien dur.
Donc les questions:
- Certaines de ces méthodes conviennent-elles pour atteindre mon objectif?
- Existe-t-il d'autres méthodes de liaison ou de référencement indirect d'un répertoire, que je n'ai pas énumérées ci-dessus, qui pourraient convenir?
- Y a-t- il des directs solutions qui ne nécessite pas d' accorder
Read & Execute
à\\server\dir1
ou ,\\server\dir2
mais en permettant l' accès à\\server\dir1\dir2\dir3
?
la source
Réponses:
Vous vous trompez dans votre hypothèse d'origine, ce qui rend le reste de votre question théorique.
L'autorisation minimale dont un utilisateur aurait besoin
dir1
etdir2
estTraverse Directory
. Ce sera très probablement problématique pour vos utilisateurs, donc je recommanderaisTraverse Directory
etList Folders
. Ils pourront naviguer dans les deux principaux répertoires et arriverdir3
là où ils ont le plus d'autorisations, mais ne verront même pas quels fichiers existent dans les deux principaux répertoires.Les autorisations comme
Read & Execute
et neModify
sont que des collections d'autorisations individuelles. Ils sont la première chose que vous voyez, car ils sont les plus couramment utilisés. Si vous devez être très précis (comme dans cette situation), cliquez sur leAdvanced
bouton et explorez les options qui y sont répertoriées.la source
Étonnamment, si l'individu a le chemin d'accès complet à un sous-dossier sur lequel il dispose d'au moins des autorisations R, il ne nécessite AUCUNE autorisation sur aucun des dossiers parents, même pas traversé. Ils peuvent simplement y accéder en utilisant l'UNC. (Ils doivent, bien sûr, avoir des autorisations de lecture sur le partage; mais pas sur les dossiers au-dessus du niveau auquel ils veulent accéder).
Je ne le croyais pas quand on me l'a dit, mais les tests le prouvent.
Cela va à l'encontre de ce que je pensais connaître des autorisations dans le monde Windows, et je pense que cela surprendra beaucoup de gens.
\ server \ folder1 \ folder2 \ folder3
S'il n'y a aucune autorisation pour Bilbo sur dossier1 et sur dossier2, mais que Bilbo a modifié (par exemple) sur dossier3, \ serveur \ dossier1 \ dossier2 \ dossier3 le mènera là, pas de problème.
la source
folder1
autorisations SHARE et NTFS sont définies surfolder3
Donc, cela\\server\c$\folder1\folder2\folder3
ne fonctionnera pas.Une solution similaire à MDMarra consiste à définir les autorisations NTFS comme suit:
Le résultat final est que l'utilisateur / groupe peut lire chaque dossier parent individuel et explorer le dossier enfant sans aucun autre dossier ou fichier.
la source
J'ai donc testé cela dans l'environnement suivant car je voulais obtenir une réponse finale et testée, sur les autorisations minimales requises pour parcourir simplement les dossiers via la navigation (c'est-à-dire via l'Explorateur de fichiers Windows). Voici les résultats pour ceux qui veulent verrouiller les choses.
Je n'ai pas encore testé cela en production pour voir s'il y a des effets secondaires étranges en réduisant le modèle de droits de traversée "standard" bien testé de
... qui est fondamentalement juste des autorisations normales de "lecture et exécution" limitées à "ce dossier". Cela dit, les tests à petite échelle ont été complètement satisfaisants jusqu'à présent pour les utilisateurs qui se contentent de déplacer, copier et supprimer des fichiers sur le serveur et les utilisateurs qui travaillent complètement à partir des copies de documents du serveur, etc.
Environnement:
Résultats:
Facultatif : TraverseFolder - ExecuteFile
-> Cette autorisation facultative n'a d'importance que si le droit d'utilisateur de contournement de la vérification de la traversée a été explicitement refusé, car il est activé par défaut dans 99% des cas. Autrement dit, l'activation du droit d'utilisateur "Contourner la vérification de cheminement" (exposé dans la stratégie de groupe, pas dans les autorisations de fichier / dossier NTFS) supprime complètement ce privilège et rend effectivement ce privilège activé partout par défaut. Remarque: Je n'ai pas testé pour voir si un refus explicite de ce droit, à son tour, empêcherait le droit d'utilisateur de contournement de la vérification transversale de prendre effet dans cette instance particulière, mais cela pourrait le faire).
Informations supplémentaires: Le droit d'utilisateur "Contourner la vérification de cheminement" permet à une personne de passer passivement à un sous-dossier, quelle que soit la profondeur de son accès, (c'est-à-dire que les autorisations sont définies sur ce fichier / dossier, mais pas nécessairement ailleurs plus haut) le chemin du fichier).
la source