Od wersji Vista cacls
jest przestarzały. Oto kilka pierwszych linii pomocy:
C:\>cacls
NOTE: Cacls is now deprecated, please use Icacls.
Displays or modifies access control lists (ACLs) of files
Zamiast tego powinieneś użyć icacls
. W ten sposób zapewniasz Johnowi pełną kontrolę nad D:\test
folderem i wszystkimi jego podfolderami:
C:\>icacls "D:\test" /grant John:(OI)(CI)F /T
Zgodnie z dokumentacją MS:
F
= Pełna kontrola
CI
= Dziedziczenie kontenera - ta flaga wskazuje, że podrzędne kontenery odziedziczą to ACE.
OI
= Object Inherit - ta flaga wskazuje, że pliki podrzędne odziedziczą ACE.
/T
= Zastosuj rekurencyjnie do istniejących plików i podfolderów. ( OI
i CI
dotyczą tylko nowych plików i podfolderów). Źródło: komentarz @AlexSpence.
Aby uzyskać pełną dokumentację, możesz uruchomić „ icacls
” bez argumentów lub przejrzeć dokumentację Microsoft tutaj i tutaj
C:\>icacls "D:\test" /grant "John:(OI)(CI)F" /T
Możesz także użyć ICACLS.
Aby przyznać grupie użytkowników pełną kontrolę nad folderem:
Aby udzielić uprawnień do modyfikacji użytkownikom IIS
C:\MyFolder
(jeśli potrzebujesz, IIS ma możliwość R / W plików do określonego folderu):Jeśli robisz ICACLS /? będziesz mógł zobaczyć wszystkie dostępne opcje.
źródło
cacls
już go nie ma, jest jeszcze więcej powodów, aby używać icacl ./grant Users:(OI)(CI)F
użyteUsers
coś innego lub NIE? Wedługicacls "C:\MyFolder" /grant Users:F
Otwórz wiersz polecenia, a następnie wykonaj następujące polecenie:
F
daje pełny dostęp./q /c /t
stosuje uprawnienia do podfolderów.Uwaga: Czasami pomoże „Uruchom jako administrator”.
źródło
Użyj
cacls
polecenia. Zobacz informacje tutaj .źródło
cacls
Jest istotna; jest nadal dostępny wWindows 10
; Microsoft zrezygnowałby równieżcmd.exe
na rzecz Powershell.cmd.exe
nie jest przestarzałe i prawdopodobnie nie będzie, więc nie jest to wcale argument na korzyśćicacls
, wręcz przeciwnie.cacls.exe
. Nie wspomniałem też, żecmd.exe
jest już przestarzałe. Myślę, że ludzie powinni przynajmniej być świadomi jego dostępności w wyższych wersjach, nawet tylko ze względu na kompatybilność wsteczną lub z jakiegokolwiek innego powodu.Próbuję poniżej i to działa dla mnie:
1. otwórz
cmd.exe
2.
takeown /R /F *.*
3.
icacls * /T /grant [username]:(D)
4.
del *.* /S /Q
Aby pliki mogły stać się moim własnym dostępem i przypisać je do „Usuń”, a następnie mogę usunąć pliki i foldery.
źródło
Uszkodzone uprawnienia: Odzyskiwanie dostępu do folderu i jego podobiektów
Chociaż większość odpowiedzi zamieszczonych w odpowiedzi na pytanie ma pewne zalety, żadna z nich IMHO nie daje kompletnego rozwiązania. Poniższe (być może) idealne rozwiązanie dla systemu Windows 7, jeśli folder jest zablokowany przez uszkodzone ustawienia uprawnień:
W przypadku systemu Windows 10 należy podać identyfikator użytkownika / SID po
/remove:d
opcji:.
Uwagi :
Polecenie stosuje się do określonego katalogu.
Określenie użytkownika „Wszyscy” ustawia możliwie najszersze uprawnienia, ponieważ obejmuje ono każdego możliwego użytkownika.
Opcja „/ remove: d” usuwa wszelkie jawne ustawienia ODMÓW, które mogą istnieć, ponieważ zastępują one jawne ustawienia ZEZWALAJĄ: konieczny wstęp do utworzenia nowego ustawienia ZEZWALAJ. Jest to tylko środek ostrożności, ponieważ często nie ma ustawienia ODMÓW, ale lepiej jest zabezpieczyć niż przepraszać.
Opcja „/ grant” tworzy nowe ustawienie ZEZWOLENIA, wyraźne uprawnienie, które zastępuje („: r”) wszelkie istniejące jawne ustawienia ZEZWOLENIA.
Parametr „F” (tzn. Utworzone uprawnienie) powoduje, że jest to kontrola PEŁNA.
Parametr „/ T” dodaje rekurencję, stosując te zmiany do wszystkich bieżących podobiektów w określonym katalogu (tj. Plików i podfolderów), a także do samego folderu.
Parametry „(OI)” i „(CI)” również dodają rekurencję, stosując te zmiany do później utworzonych podobiektów.
.
DODATEK (2019/02/10) -
Wiersz poleceń systemu Windows 10 powyżej został mi dziś zasugerowany, więc oto proszę. Nie mam systemu Windows 10, aby go przetestować, ale proszę wypróbować, jeśli masz (a następnie czy możesz zamieścić komentarz poniżej).
Zmiana dotyczy tylko usunięcia ustawienia ODMÓW jako pierwszego kroku. Może nie być żadnego ustawienia ODMOWY, więc ta opcja nie ma znaczenia. Rozumiem, że w systemie Windows 7 nie musisz określać użytkownika po / usuń: d, ale mogę się mylić!
.
DODATEK (2019/11/21) -
Użytkownik z uwagą zaleca zastąpienie Wszyscy terminem * S-1-1-0, aby polecenie było niezależne od języka. Mam tylko angielską instalację systemu Windows, więc nie mogę przetestować tej propozycji, ale wydaje się rozsądna.
źródło
Invalid parameter "/remove:d"
Walczyłem z tym na chwilę i tylko łącząc odpowiedź w tym wątku pracował dla mnie (w systemie Windows 10):
1. Otwórz cmd lub PowerShell i przejdź do folderu z plikami
2. takeown / R / F .
3. icacls * / T / grant dan: F
Powodzenia!
źródło
Na wszelki wypadek, gdy ktoś potknie się na tej stronie, jeśli chcesz połączyć różne uprawnienia razem w jednym poleceniu, użyłem tego:
Zanotuj ciąg csv dla różnych uprawnień.
źródło
Ze skryptem Excel vba do obsługi i tworzenia kont. Musiałem przyznać pełne uprawnienia do folderu i podfolderów, które zostały utworzone przez narzędzie przy użyciu konta x administratora naszego nowego użytkownika.
cacls wyglądał mniej więcej tak: cacls \ FileServer \ Users \ Nazwa użytkownika / e / g Domena \ Nazwa użytkownika: C
Musiałem migrować ten kod do systemu Windows 7 i nowszych wersji. Moje rozwiązanie okazało się:
icacls \ FileServer \ Users \ Nazwa użytkownika / grant: r Domena \ Nazwa użytkownika: (OI) (CI) F / t
/ grant: r - przyznaje określone prawa dostępu użytkownika. Uprawnienia zastępują wcześniej przyznane uprawnienia jawne. Bez: r uprawnienia są dodawane do wszelkich wcześniej przyznanych jawnych uprawnień
(OI) (CI) - ten folder, podfoldery i pliki.
F - Pełny dostęp
/ t - przeglądaj wszystkie podfoldery, aby dopasować pliki / katalogi.
To, co mi to dało, to folder na tym serwerze, który użytkownik widział tylko w tym folderze i tworzył podfoldery, aby mógł czytać i zapisywać pliki. Jak również tworzyć nowe foldery.
źródło
XCACLS.VBS to bardzo wydajny skrypt, który zmienia / edytuje informacje ACL. c: \ windows \ system32 \ cscript.exe xcacls.vbs pomaga zwrócić wszystkie przełączniki i opcje.
Oficjalną dystrybucję można uzyskać ze strony pomocy technicznej Microsoft
źródło
XCACLS.VBS
można znaleźć?Zbiorowe tworzenie folderów i udzielanie uprawnień działa przy użyciu poniższego skryptu PowerShell.
Uwaga: musisz utworzyć tę samą nazwę użytkownika domeny w pliku csv, w przeciwnym razie wystąpią problemy z uprawnieniami
źródło
źródło
ocena doskonała Călin Darie
Miałem wiele skryptów do użycia caclów. Przenoszę je do icaclów, jakkolwiek nigdy nie mogłem znaleźć skryptu, aby zmienić przykładowy wolumin montowania katalogu głównego: d: \ datafolder. W końcu stworzyłem poniższy skrypt, który montuje wolumin jako dysk tymczasowy, a następnie stosuje sek. następnie odmontowuje. Jest to jedyny sposób, w jaki odkryłem, że możesz zaktualizować zabezpieczenia montowania roota.
1 pobiera identyfikator GUID podłączenia folderu do pliku tymczasowego, a następnie odczytuje identyfikator GUID, aby zamontować wolumin jako dysk tymczasowy X: stosuje sec i rejestruje zmiany, a następnie odmontowuje wolumin tylko z dysku X: tak, aby zamontowany folder nie był zmieniany ani przerywany innym następnie zastosował ust.
oto przykład mojego skryptu:
źródło
Jestem administratorem, a niektóre skrypty nadały mojej nazwie uprawnienia „Odmów” dla wszystkich plików i podfolderów w katalogu. Wykonanie
icacls "D:\test" /grant John:(OI)(CI)F /T
polecenia nie działało, ponieważ wydawało się, że nie usunęło ono „Odmów” bezpośrednio z mojego nazwiska z tej listy.Jedyną rzeczą, która działała dla mnie, było zresetowanie wszystkich uprawnień za pomocą
icacls "D:\test" /reset /T
polecenia.źródło
w systemie Windows 10 działającym bez „c:>” i „>”
Na przykład:
(także to naprawia błąd 2502 i 2503)
źródło
Oto, co zadziałało dla mnie:
Ręcznie otwórz folder, do którego odmówiono dostępu.
Wybierz plik wykonywalny / aplikacji w tym folderze.
Kliknij go prawym przyciskiem myszy i przejdź do Properties->Compatibility
Teraz zobacz Privilege Leveli sprawdźRun As Administrator
Kliknij na Change Settings for all users.
Problem został rozwiązany teraz.
źródło