2011-12-30 13 views
6

Uprawnienia do plików systemu Windows różnią się od uprawnień * nix, więc w jaki sposób zaimplementowano w systemie Windows chmod z GnuWincoreutils?Jak działa chmod dla systemu Windows?

+0

Prawdopodobnie wcale. Z tego, co widziałem z * niektórych plików * GnuWin32 przynajmniej po prostu upuszczają rzeczy, które nie działają w systemie Windows. – Joey

+0

Jeśli chodzi o programowanie, proszę przeredagować jako takie. – Randolpho

+4

Co jest niejasne na temat "w jaki sposób chmod ... _implemented_ w Windows" jest pytaniem programistycznym? –

Odpowiedz

2

Chyba że źle odczytałem twoje pytanie, myślę, że to naprawdę jest pytanie o serwer.

Ale zakładając, że tak naprawdę chodzi o programowanie związane z implementacją chmod zgodnych z POSIX w Windows, spróbuję odpowiedzieć na to pytanie. Po pierwsze, pewne tło ... this wikipedia article zajmuje się sprawiedliwą rozmową o różnicach między tymi dwoma systemami. W skrócie: systemy oparte na Windows NT (Windows XP non-FAT, Windows Vista, Windows 7, Windows Server 200X) korzystają z systemu list kontroli dostępu, który jest bardziej podobny do systemu VAX niż do systemu UNIX. Mają też kilka innych uprawnień niż tylko odczyt/zapis/wykonanie.

To powiedziawszy ... różnice nie są aż tak wielkie: właściciel pliku może nadawać uprawnienia do pliku, podobnie jak w systemach POSIX, ale zamiast ograniczać się do właściciela, grupy właściciela i reszta świata, tak jak w POSIX, uprawnienia mogą być dostosowywane do konkretnych użytkowników i grup użytkowników.

Biorąc pod uwagę, że użytkownik może należeć do więcej niż jednej grupy, przypuszczam, że uprawnienia grupy ustawień po prostu dodałyby wszystkie grupy, których użytkownik jest częścią listy ACL pliku i ustawiają na nich te same uprawnienia. Świat jest dość łatwy, to grupa "Wszyscy". Ditto właściciel. Wyobrażam sobie również, że same uprawnienia będą ograniczone do uprawnień POSIX, tj. Do odczytu, zapisu, wykonania.

Ponieważ obejmuje to 99% większości problemów z uprawnieniami, które użytkownik może chcieć obsłużyć w pliku, mógłbym uzyskać obraz, który zostałby przeniesiony do programu chmod. Użytkownik zawsze może po prostu otworzyć okno właściwości pliku i uzyskać więcej dostrojone z uprawnieniami do treści swojego serca.

Gdybym miał implikować chmod w systemie Windows, prawdopodobnie dodałabym dodatkowe przełączniki poleceń, aby umożliwić dodawanie określonych użytkowników i uprawnień do listy ACL według nazwy.

Edit
Właśnie znalazłem this answer tu na StackOverflow, która zajmuje się tematem bardziej bezpośrednio.

Okazuje się, że istnieje funkcja win32 o nazwie _chmod, która działa niemal identycznie jak chmod w jądrach typu unix.

+0

podkreślone przedrostkowe funkcje są (zwykle) zawsze rozszerzeniami c-runtime. _chmod to ms wizualne rozszerzenie C++, a nie wyłącznie funkcja Win32. –

+0

@ChrisBecke Masz rację, jest to część [Microsoft Runtime] (http://msdn.microsoft.com/en-us/library/sk54f3f5 (v = vs.80) .aspx), która niekoniecznie jest Win32 – Randolpho

Powiązane problemy