2012-06-27 9 views
5

Szukałem w Internecie, ale nie mogę znaleźć tego, czego szukam. Zasadniczo, podczas instalacji uruchamiamy oddzielny plik wykonywalny, który w zasadzie brutalnie zmusza kilka folderów do odczytu/zapisu dla grupy użytkowników "EVERYONE".Jak mogę pracować z grupami zabezpieczeń systemu Windows, nie znając wcześniej ich zlokalizowanych nazw?

Osoba, która to napisała, nigdy nie brała pod uwagę języka systemu. Miałem połączenie z klientem we Francji, który nie zainstalował się, ponieważ "KAŻDEGO" nie jest tym, czego moglibyśmy się spodziewać.

Jestem po wywołaniu funkcji API w systemie Windows, która zwróci nazwę grupy zabezpieczeń, która byłaby "bezpieczna" do użycia w zlokalizowanym środowisku. Zasadniczo zamierzam bezpiecznie edytować ten kod, więc zamiast kodowania w "KAŻDYM" wywołujemy funkcję.

Odpowiedz

12

Podstawowym błędem tutaj jest nie tyle użycie EVERYONE, ale raczej, że kod w ogóle używa nazw. Zamiast używać nazw, należy użyć nazwy well-known SIDs. W twoim przypadku potrzebujesz S-1-1-0.

+3

Ten wpis na blogu od facetów Jedi może pomóc: [Czym jest identyfikator SID?] (Http://blog.delphi-jedi.net/2008/03/10/what-is-a-sid/) –

+3

+ 1 przy użyciu identyfikatora SID jest właściwym sposobem na obsłużenie tego zadania. – RRUZ

+0

Rewelacja, okrzyki! – sxthomson

Powiązane problemy