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);
- 1. Usuń dodatkowe niechciane uprawnienia z manifestu Android
- 2. UIButton usuń wszystkie akcje docelowe
- 3. Usuń wszystkie elementy wewnątrz linelayout
- 4. C# Usuń wszystkie puste podkatalogi.
- 5. Usuń wszystkie w konsoli szyn
- 6. Usuń wszystkie ukośniki w JavaScript
- 7. Usuń wszystkie przedmioty z listy
- 8. Pusty katalog (usuń wszystkie pliki)
- 9. Usuń wszystkie dzieci z QVBoxLayout
- 10. Usuń wszystkie zer z tablicy
- 11. Usuń wszystkie przechowywane procedury naraz
- 12. Uprawnienia Role i uprawnienia
- 13. Usuń wszystkie wystąpienia char z ciągu
- 14. Usuń wszystkie pliki z repozytorium svn
- 15. Usuń wszystkie duplikaty z wyjątkiem ostatniej instancji
- 16. MySQL usuń wszystkie spacje z całej kolumny
- 17. Usuń wszystkie zduplikowane wiersze Excel vba
- 18. Usuń wszystkie kolumny bez danych z DataTable
- 19. MySQL USUŃ wszystkie oprócz najnowszych rekordów X
- 20. Usuń WSZYSTKIE stylizacje/formatowanie z hiperłączy
- 21. Usuń wszystkie wystąpienia \ z ciągu znaków
- 22. Usuń wszystkie pliki zachowując strukturę katalogów
- 23. Usuń wszystkie linie przed meczem z sed
- 24. Usuń folder i wszystkie pliki/podkatalogi
- 25. Usuń wszystkie elementy po pewnym elemencie
- 26. Usuń wszystkie specyficzne wartości z tablicy
- 27. Szyny - Usuń wszystkie zapisy spełniające warunek
- 28. usuń wszystkie wpisy z tabeli z php
- 29. Usuń opcję "Wszystkie pliki" z przesyłającego
- 30. Usuń wszystkie znaki interpunkcyjne od końca łańcucha
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