W języku C# (2.0) Jak usunąć wszystkie uprawnienia do katalogu, więc mogę ograniczyć dostęp. Dodam dostęp do ograniczonej grupy użytkowników.Usuń wszystkie uprawnienia katalogowe
Odpowiedz
Spójrz na klasy w przestrzeni nazw System.Security.AccessControl, a zwłaszcza na metodę DirectorySecurity.RemoveAccessRule.
Ponadto, jeśli usunąć wszystkie uprawnienia wtedy nie będzie mógł dodać dowolną potem z powrotem :-)
Oto wielki zbiór artykułów z CodeProject o programowaniu systemu Windows ACL:
The Windows Access Control Model
Part 3 serii pokazuje .NET specyficznych metod.
System.IO.Directory.GetAccessControl(), a następnie edytuj zwrócony obiekt FileSecurity.
Directory. –
prawie taki sam ^^ Zmieniłem go teraz. – codymanix
Zastrzeżenie: Zdaję sobie sprawę z tego już odpowiedział i akceptowane, a naprawdę chciałem pisać to jest komentarz do zaakceptowanej odpowiedzi, ale niemożność sformatowania komentarzy zmusiła mnie do opublikowania tego jako odpowiedzi (która, technicznie rzecz biorąc, jest) ....
Szukałem tak samo i znalazłem twoje pytanie. Odpowiedź Stu pomógł mi wymyślić to rozwiązanie. (Zauważ, że interesuje mnie tylko usunięcie jawnych zabezpieczeń).
private static DirectorySecurity RemoveExplicitSecurity(DirectorySecurity directorySecurity)
{
AuthorizationRuleCollection rules = directorySecurity.GetAccessRules(true, false, typeof(System.Security.Principal.NTAccount));
foreach (FileSystemAccessRule rule in rules)
directorySecurity.RemoveAccessRule(rule);
return directorySecurity;
}
I to jest oczywiście wykorzystane w następujący sposób: Budy
DirectoryInfo directoryInfo = new DirectoryInfo(path);
DirectorySecurity directorySecurity = directoryInfo.GetAccessControl();
directorySecurity = RemoveExplicitSecurity(directorySecurity);
Directory.SetAccessControl(path, directorySecurity);
Znalazłem to narzędzie przydatne do sprawdzenia, czy mój kod działał poprawnie. Pokazuje uprawnienia katalogu ustawione w hierarchii folderów. tj. tylko wtedy, gdy uprawnienia są ustawione, a nie dziedziczone - http://www.youtube.com/watch?v=aZLIioUl-5k – pfeds