Ustawianie prawa do pliku dla grupy Wszyscy/Everyone


(Grzegorz Ch) #1

Witam

Chciałem ustawić plikowi taką regułę, aby grupa Wszyscy miała pełny dostęp do niego.

robię to tak (źródło w języku C#):

FileSecurity fs =File.GetAccessControl(filename);

fs.AddAccessRule(new FileSystemAccessRule("Wszyscy", FileSystemRights.FullControl, AccessControlType.Allow));

File.SetAccessControl(filename, fs);

Kod działa na polskim systemie. Niestety na np. angielskim systemie nie będzie działał, ponieważ nie ma w nim grupy Wszyscy , jest za to Everyone.

Co wpisać podczas tworzenia obiektu FileSystemAccessRule zamiast Wszyscy , aby w każdej wersji językowej systemu Windows, ustawić dla wszystkich użytkowników pełny dostęp do pliku?


(Zulowski) #2

Może spróbuj to uzależnić od Locale.


([alex]) #3

GenericIdentity


(Grzegorz Ch) #4

A mógłbyś kawałkiem kodu zaprezentować jak to wykorzystać do mojego przypadku?

z góry dzięki.

-- Dodane mniej niż minutę temu --

Znalazłem rozwiązanie, napiszę jak to osiągnąłem, gdyż może się komuś w przyszłości przydać. Wykorzystałem do tego celu SecurityIdentifier

FileSecurity fs = File.GetAccessControl(filename);

IdentityReference ir = new SecurityIdentifier( WellKnownSidType.WorldSid, null);

fs.AddAccessRule(new FileSystemAccessRule(ir, FileSystemRights.FullControl, AccessControlType.Allow));

File.SetAccessControl(filename, fs);

gdzie WellKnownSidType.WorldSid oznaczy właśnie Wszyscy.

dzięki na naprowadzenie.