Odpowiedzi:
Greg wspomina attrib
- ale attrib
nigdzie nie jest blisko chmod
- attrib
może ustawić atrybuty tylko do odczytu / ukryte pojedynczego pliku - nie zapewnia precyzyjnych kontroli, jak to icacls
robi.
icacls
ustawia / resetuje listy kontroli dostępu, dzięki czemu można przyznawać / odmawiać uprawnień dla poszczególnych identyfikatorów SID i grup. Jest to jednak dość skomplikowane.
Oto przykład, który zapisałem w mojej githubist ; resetuje listę własności i kontrolę dostępu do wszystkich plików w folderze i jest szczególnie przydatny do naprawy tych irytujących „Potrzebujesz uprawnień z ... do wykonania tej akcji”, szczególnie przy przenoszeniu plików z poprzedniej instalacji:
icacls * /reset /t /c /q
Resetuj zastępuje istniejącą domyślną listą.
/t
działa rekurencyjnie na wszystkie pliki, foldery i podfoldery
/q
, nie wyświetla żadnych komunikatów o powodzeniu,
/c
kontynuuje pozostanie plików nawet w przypadku wystąpienia błędu.
Możesz także wykonać kopię zapasową istniejących list ACL i zastosować je we wszystkich. Spójrz na ss64, który bardzo dobrze wyjaśnia różne opcje i przełączniki.
cmd
który otrzymujesz po naciśnięciu [Win] + [R], nie ma ich. Na specjalne potrzeby mam skrót „Powłoka administratora” z zaznaczoną opcją „Wykonaj jako administrator” (lub podobny; korzystam z niemieckiego systemu Windows) (z ciemnoczerwonym kolorem tła).
(Niestety) nie może być dokładnym odpowiednikiem, ponieważ Linux i DOS / Windows używają atrybutów do różnych celów i (jak powiedział wcześniej Chathuranga) model bezpieczeństwa jest inny:
H
) i „system” ( S
), które nie mają odpowiednika w systemie Linux; tam pliki są ukryte, poprzedzając nazwę kropką ( .
).A
atrybutu „archive” ( ) systemu Windows .x
atrybutach plików DOS / Windows nie ma odpowiednika atrybutów Linux „wykonywalnego” ( ).D
) atrybutu (ale to i tak nie można zmienić).Atrybut pliku DOS R
(tylko do odczytu) to taki, który można uznać za równoważny: ten zestaw atrybutów jest mniej więcej podobny do w
atrybutu braku wszystkich; ale zezwolenie na zmianę tego atrybutu jest uzależnione od list ACL.
Fajnie byłoby mieć chmod
/ chown
odpowiednik w systemie Windows, być może napisany w jakimś języku skryptowym, który z kolei wywołuje attrib
i cacls
(lub następców), ale ja go nie mam.
CAP_LINUX_IMMUTABLE
proces), podczas gdy dostęp do zestawu atrybutów w systemie Windows to wszystko lub nic. Powszechnym błędem w implementacjach chmod
systemu Windows jest używanie tego polecenia do ustawiania atrybutu pliku tylko do odczytu. Niestety systemy są tak dobrze poinformowane, jak programiści, którzy je rozwijają.
chattr
poleceniu. Ale nie miałeś na myśli mnie, że „mylę atrybuty plików i uprawnienia”, prawda? AFAICS, każde słowo, które napisałem o atrybutach DOS jest nadal poprawne.
chattr
, z wyjątkiem tego, że system Windows ma atrybut katalogu, ponieważ nie ma i-węzła.
chmod
systemie Windows nie ma bezpośredniego odpowiednika, ponieważ nie ma nic takiego jak atrybut „tryb” pliku. Standardowy zestaw atrybutów plików systemu Windows nie ma z tym nic wspólnego. Atrybut tylko do odczytu nie jest uprawnieniem do pliku. Mówi w zasadzie, że plik jest zapisany w kamieniu, więc wszelkie próby jego modyfikacji muszą zakończyć się niepowodzeniem. „Niezmienny” atrybut pliku systemu Linux jest podobny. System Windows używa list ACL tylko dla uprawnień, więc icacls.exe i tym podobne są jedynymi podobnymi poleceniami na temat uprawnień.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Działa jak urok, aby zmienić uprawnienia do folderu dla użytkowników domeny. Dodatkowe informacje dotyczące cacls
i icacls
.
attrib
Komenda jest najbliższy mecz na bardzo podstawowe rzeczy (tylko do odczytu, archiwizacji flag). Następnie jest polecenie ACL (lista kontroli dostępu) cacls
. Last but not least, ponieważ system Windows jest w rzeczywistości zgodny z Posixem, istnieją flagi uniksopodobne. Jeśli zainstalujesz zestaw narzędzi Cygwin, otrzymasz chmod
. (Trochę nie na temat, ponieważ szukasz odpowiednika polecenia uniksowego, pobranie i zainstalowanie Cgygwin może być dla Ciebie interesujące).
Korzystam z polecenia systemu Windows, takeown.exe
aby zmienić uprawnienia do pliku na mój bieżący zalogowany identyfikator użytkownika: http://technet.microsoft.com/en-us/library/cc753024.aspx
W systemie Windows nic nie nazywa się chmod, ponieważ model bezpieczeństwa systemu Windows jest inny niż Linux. Możesz użyć attrib
polecenia, aby zmienić właściwości obiektów. (Ale są bardziej w kierunku globalnych właściwości).
Dla mnie obejściem tego problemu jest zainstalowanie Cygwin i dodanie jego folderu bin do ścieżki systemowej. Następnie, jeśli uruchomisz „chmod” w wierszu poleceń, zadziała. Chociaż nie zweryfikowałem jego poprawności.
Jeśli masz do czynienia z czymś podobnym do CHMOD (który jest tylko poleceniem UNIX / Linux, użyj, aby zmienić uprawnienia do pliku), musisz kliknąć prawym przyciskiem myszy plik lub folder, a następnie przejść do właściwości, a następnie w papierach wartościowych.
Stamtąd możesz zmienić uprawnienia do folderu lub pliku, jeśli zalogowałeś się jako administrator.
Istnieją trzy rodzaje uprawnień (odczyt, zapis i wykonywanie) W systemie Linux lub UNIX widać symbol jak r dla odczytu, w dla zapisu i x dla wykonania, ale w oknach widać całe słowo.
Możesz także przypisać własność pliku innemu.