Ekwiwalent chmoda do zmiany uprawnień do plików w systemie Windows
Czy istnieje ekwiwalent systemu Windows w systemie Linux chmod
do zmiany uprawnień do plików?
Czy istnieje ekwiwalent systemu Windows w systemie Linux chmod
do zmiany uprawnień do plików?
Greg wzmianki attrib
- ale attrib
nie jest nigdzie w pobliżu chmod
- attrib
może ustawić tylko do odczytu/ukryte atrybuty pojedynczego pliku - nie dostarcza drobnoziarnistych kontrolek jak icacls
robi.
icacls
ustawia/resetuje listy kontroli dostępu, więc można przyznać/odebrać prawa dla poszczególnych SIDów i grup. Jest to jednak dość skomplikowane.
Oto przykład, który zapisałem w moim github gist ; resetuje on listę własności i kontroli dostępu dla wszystkich plików w folderze i jest szczególnie przydatny do naprawienia tych irytujących “Potrzebujesz uprawnień od … do wykonania tej akcji”, szczególnie podczas przenoszenia plików z poprzedniej instalacji:
icacls * /reset /t /c /q
Reset zastępuje istniejącą listę domyślną.
/t
działa rekurencyjnie na wszystkie pliki, foldery i podfoldery
/q
nie wyświetla żadnych komunikatów o powodzeniu
/c
kontynuuje z pozostałymi plikami nawet w przypadku wystąpienia błędu.
Możesz również zrobić kopię zapasową istniejących ACL i zastosować je we wszystkich. Spójrz na ss64 , który bardzo dobrze wyjaśnia różne opcje i przełączniki.
Nie ma (niestety) dokładnego odpowiednika, ponieważ Linux i DOS/Windows używają atrybutów do różnych celów, a (jak wcześniej powiedział Chathuranga) model bezpieczeństwa jest inny:
H
) i “systemowe” (S
), które nie mają odpowiednika w Linuksie; tam pliki są ukryte przez podanie nazwy z kropką (.
). A
). x
) systemu Linux. Atrybut pliku DOS D
(tylko do odczytu) jest tym, który może być uznany za równoważny: ten atrybut set jest mniej więcej taki sam jak atrybut R
dla wszystkich brakujących; ale pozwolenie na zmianę tego atrybutu jest uzależnione od ACL.
Fajnie byłoby mieć odpowiednik w
/chmod
na Windows, być może napisany w jakimś języku skryptowym, który z kolei wywołuje chown
i attrib
(lub jego następców), ale ja go nie mam.
Polecenie attrib
jest najbliższym dopasowaniem dla bardzo podstawowych rzeczy (tylko do odczytu, flagi archiwalne). Następnie pojawia się polecenie ACL (lista kontroli dostępu) cacls
. Wreszcie, ponieważ Windows jest w rzeczywistości zgodny z Posixem, flagi uniksowe istnieją. Jeśli zainstalujesz zestaw narzędzi Cygwin, otrzymasz komendę chmod
. (Trochę poza tematem, ponieważ szukasz odpowiednika komendy uniksowej, pobranie i zainstalowanie Cgygwina może być dla Ciebie czymś interesującym).
Używam polecenia Windows takeown.exe
do zmiany uprawnień do plików na mój bieżący zalogowany identyfikator użytkownika: http://technet.microsoft.com/en-us/library/cc753024.aspx
Nie ma nic, co nazywa się chmod w oknach, ponieważ model bezpieczeństwa Windows jest inny niż Linux. Możesz użyć komendy attrib
do zmiany właściwości obiektów. (Ale są one bardziej w kierunku właściwości globalnych).