Każdy plik lub folder w woluminie NTFS ma właściciela. Niektóre pliki systemowe są własnością TrustedInstaller, inne konta SYSTEM, a jeszcze inne grupy „Administrators”. Jeśli użytkownik tworzy plik lub folder, ten użytkownik jest zwykle właścicielem pliku lub folderu. Właściciel jest tym, który może przypisać uprawnienia (Zezwól lub Odmów) innym użytkownikom do tego obiektu.
Jeśli użytkownik nie jest właścicielem pliku lub folderu lub nie ma uprawnień dostępu do pliku, dostaje błąd „odmowa dostępu” przy dostępie do obiektu. Jeśli ten użytkownik jest administratorem, może przejąć własność obiektu za pomocą Właściwości pliku lub folderu – zakładka Bezpieczeństwo. Następnie może przypisać sobie wymagane uprawnienia.
W tym poście dowiesz się, jak przejąć na własność plik lub folder i przypisać mu wymagane uprawnienia, używając wiersza poleceń zamiast GUI.
Windows zawiera narzędzie wiersza poleceń o nazwie Takeown.exe, które może być używane z Wiersza poleceń administratora do szybkiej zmiany własności pliku lub folderu. Oto jak przejąć na własność plik lub folder, a następnie przypisać uprawnienia do konta za pomocą wiersza poleceń.
- Przejęcie na własność pliku
- Assign File Permissions
- Przejmowanie własności folderu
- Zmiana własności rekursywnie:
- Przydziel uprawnienia do folderu
- Pomoc wiersza poleceń:
- Łatwiejsze metody przejmowania na własność
- Skrypt poleceń
- Dodaj polecenie „Take Ownership” do menu prawego przycisku myszy
- Informacje dodatkowe
- icacls.exe również może zmienić własność pliku lub folderu!
- Zmień własność pliku lub folderu za pomocą icacls.exe
- Przykłady: Zestaw #1: Zmień własność pojedynczego pliku lub folderu
- Przykład #2: Zmiana własności folderu (podfolderu i plików) rekursywnie
- Przywrócenie własności TrustedInstaller
- Użycie polecenia icacls.exe do ustawienia TrustedInstaller jako właściciela pliku
- icacls /setowner access denied?
- Używanie SetACL.exe do przejmowania własności i przydzielania uprawnień
- SetACL: Argumenty wiersza poleceń
- Przykłady: Zmiana własności pojedynczego pliku lub folderu:
- Przykłady: Zmień własność rekursywnie:
- Przykłady: Przypisywanie wymaganych uprawnień do pliku lub folderu:
- Przykłady: Przydziel wymagane uprawnienia rekursywnie:
Przejęcie na własność pliku
Otwórz podwyższone okno Wiersza poleceń. Użyj następującej składni, aby przejąć plik na własność:
TAKEOWN /F <filename>
Zastąp <filename> rzeczywistą nazwą pliku z pełną ścieżką.
Właścicielem pliku jest teraz aktualnie zalogowany użytkownik.
Aby ustawić grupę Administrators
właścicielem pliku, należy dodatkowo użyć przełącznika /A
:
TAKEOWN /F <filename> /A
-
/A
Nadaje prawo własności grupie Administratorzy zamiast bieżącemu użytkownikowi. Jeśli/A
nie zostanie określony, własność pliku zostanie nadana aktualnie zalogowanemu użytkownikowi. W tym parametrze nie jest rozróżniana wielkość liter.
Jeśli operacja zakończyła się powodzeniem, powinieneś zobaczyć następujący komunikat:
„SUKCES: Plik (lub folder): „filename” jest teraz własnością użytkownika „Nazwa komputera”.”
lub
SUCCESS: Plik (lub folder): „filename” jest teraz własnością grupy administratorów.
Assign File Permissions
Aby przyznać administratorom uprawnienia Full Control do pliku, użyj ICACLS. Oto składnia:
ICACLS <filename> /grant administrators:F
Przykład 2: Aby przypisać uprawnienia pełnej kontroli dla aktualnie zalogowanego użytkownika, użyj tego polecenia:
ICACLS <filename> /grant %username%:F
%username% reprezentuje nazwę konta aktualnie zalogowanego użytkownika. ICacls akceptuje tę zmienną bezpośrednio.
Przykład 3: Aby przypisać uprawnienia Pełna kontrola użytkownikowi o nazwie John
, użyj tego polecenia:
ICACLS <filename> /grant John:F
Przejmowanie własności folderu
Użyj następującej składni:
takeown /f <foldername>
(lub)
takeown /f <foldername> /a
-
/a
Nadaje własność grupie Administratorzy zamiast bieżącemu użytkownikowi. Jeśli parametr/a
nie zostanie określony, własność zostanie nadana aktualnie zalogowanemu użytkownikowi. W tym parametrze nie jest rozróżniana wielkość liter.
Zobaczysz następujące dane wyjściowe:
SUKCES: Plik (lub folder): „folder_name” jest teraz własnością użytkownika „computername”
(lub)
SUCCESS: Plik (lub folder): „folder_name” jest teraz własnością grupy administrators.
Zmiana własności rekursywnie:
Aby zmienić własność folderu, jego podfolderów i plików w każdym podfolderze, użyj tej składni:
takeown /f <foldername> /r /d y
Właścicielem folderu jest teraz aktualnie zalogowany użytkownik.
Aby ustawić grupę Administrators
właścicielem folderu, jego podfolderów i plików rekursywnie, użyj dodatkowo przełącznika /A
:
TAKEOWN /F <foldername> /a /r /d y
-
/R
Recurse: instruuje narzędzie do działania na plikach w określonym katalogu i wszystkich podkatalogach. -
/D
prompt Domyślna odpowiedź używana, gdy bieżący użytkownik nie ma uprawnienia „list folder” w katalogu. Dzieje się tak podczas działania rekurencyjnego (/R) na podkatalogach. Wartości prawidłowe „Y”, aby przejąć własność lub „N”, aby pominąć.
Przydziel uprawnienia do folderu
Aby przypisać grupie Administratorzy pełne uprawnienia do kontroli folderu, użyj następującej składni:
icacls <foldername> /grant administrators:F /T
Parametr /T jest dodawany, aby operacja była wykonywana na wszystkich podkatalogach i plikach w tym folderze.
Pomoc wiersza poleceń:
Aby poznać pełne informacje na temat użycia Takeown.exe i ICacls.exe, uruchom te polecenia z okna Wiersza poleceń.
takeown /?
icacls /?
Łatwiejsze metody przejmowania na własność
Skrypt poleceń
Aby jeszcze bardziej uprościć proces przejmowania na własność, Tim Sneath z firmy Microsoft udostępnia plik .CMD (Windows Command Script), który przejmuje na własność i przypisuje administratorom uprawnienia Full Control dla katalogu. Aby uzyskać więcej informacji, przeczytaj post Tima, zatytułowany Sekret #11: Deleting the Undeletable.
To znowu używa specjalnego czasownika runas w Windows Vista i wyższych, który omówiłem wcześniej (REF RunAs).
via WinMatrix.com
Pobierz takeown_context.reg i zapisz na Pulpicie. Kliknij prawym przyciskiem myszy na pliku i wybierz opcję Merge. Kliknij Tak, gdy zostaniesz poproszony o potwierdzenie. To dodaje rozszerzone polecenie o nazwie Take Ownership w menu kontekstowym dla plików i katalogów. Aby uzyskać dostęp do tego polecenia, musisz nacisnąć i przytrzymać klawisz SHIFT, a następnie kliknąć prawym przyciskiem myszy plik lub folder.
(Możesz przeczytać więcej o tym tweaku w artykule Take Ownership of File or Folder via Right-click Context Menu in Windows.)
Informacje dodatkowe
Powyższa sekcja obejmuje większość rzeczy, których potrzebujesz. Przeczytaj poniżej, jeśli potrzebujesz więcej wskazówek na ten temat.
icacls.exe również może zmienić własność pliku lub folderu!
Takeown.exe i Icacls.exe są dwoma wbudowanymi narzędziami konsoli w Windows, które pozwalają zmienić własność pliku lub folderu i przypisać uprawnienia kontroli dostępu, odpowiednio. Takeown.exe ustawia aktualnie zalogowane konto użytkownika jako właściciela obiektu (pliku lub folderu).
Jednakże za pomocą Takeown.exe nie można uczynić innego konta właścicielem obiektu.
Czy wiesz, że narzędzie icacls.exe również może być użyte do zmiany własności?
Aby zmienić własność na konto osoby trzeciej (tj, konto, które nie jest aktualnie zalogowane) lub grupę, możesz użyć icacls.exe z argumentem /setowner
wiersza poleceń, zamiast takeown.exe.
Zmień własność pliku lub folderu za pomocą icacls.exe
Widzieliśmy, jak zmienić własność za pomocą icacls.exe w ostatniej części artykułu Take Ownership of a File or Folder Using Command-Line in Windows. Oto kilka kolejnych przykładów:
Poniżej znajduje się składnia wiersza poleceń do zmiany własności pliku lub folderu przy użyciu icacls.exe:
icacls "file_or_folder_name" /setowner "NT Service\TrustedInstaller"
Przykłady: Zestaw #1: Zmień własność pojedynczego pliku lub folderu
icacls "D:\Annual Reports20\November" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "John"
icacls "D:\Tax Audit\November.xlsx" /setowner "Administrators"
Jeśli operacja zakończyła się powodzeniem, zobaczysz następujący komunikat:
processed file: file_or_folder_nameSuccessfully processed 1 files; Failed processing 0 files
Przykład #2: Zmiana własności folderu (podfolderu i plików) rekursywnie
Aby zmienić własność folderu, jego podfolderów i wszystkich plików we wszystkich podfolderach rekursywnie, użyj przełącznika /T
(traverse) dodatkowo:
icacls "folder_name" /setowner "Administrators" /T
-
/T
wskazuje, że ta operacja jest wykonywana na wszystkich pasujących plikach/katalogach poniżej katalogów określonych w nazwie.
Powyższe polecenie ustawia TrustedInstaller jako właściciela folderu, jego podfolderów i wszystkich plików we wszystkich podfolderach.
Przywrócenie własności TrustedInstaller
Czasami, aby naprawić problem, możesz potrzebować zmienić plik danych, taki jak XML lub klucz rejestru należący do TrustedInstaller. W tym celu musisz najpierw przejąć własność pliku, folderu lub klucza rejestru.
Po zmodyfikowaniu plików lub ustawień musisz przywrócić własność TrustedInstaller, jeśli TrustedInstaller był poprzednim lub oryginalnym właścicielem. Aby przywrócić własność do TrustedInstaller, wykonaj następujące kroki:
Usługa Windows Modules Installer lub TrustedInstaller umożliwia instalowanie, modyfikowanie i usuwanie aktualizacji systemu Windows oraz składników opcjonalnych. Domyślnie TrustedInstaller jest również właścicielem wielu krytycznych kluczy rejestru i plików systemowych.
- Kliknij prawym przyciskiem myszy plik lub klucz rejestru, a następnie kliknij Uprawnienia.
- Kliknij Zaawansowane, aby otworzyć okno dialogowe Zaawansowane ustawienia zabezpieczeń.
- W pobliżu pozycji „Właściciel:” kliknij Zmień.
- W oknie dialogowym Wybierz użytkownika lub grupę wpisz „
NT SERVICE\TrustedInstaller
” i naciśnij klawisz ENTER.
- Kliknij Zastosuj, OK.
Zmienia to własność obiektu (pliku, folderu lub klucza rejestru) na TrustedInstaller lub Windows Modules Installer.
Użycie polecenia icacls.exe do ustawienia TrustedInstaller jako właściciela pliku
Z okna Command Prompt administratora użyj następującej składni wiersza poleceń:
icacls "path\filename" /setowner "NT Service\TrustedInstaller"
Przykład:
icacls "C:\Windows\PolicyDefinitions\WindowsStore.admx" /setowner "NT Service\TrustedInstaller"
TrustedInstaller jest teraz właścicielem pliku WindowsStore.admx.
icacls /setowner access denied?
Niekiedy wiersz poleceń icacls.exe /setowner
może napotkać następujący błąd:
filename: Access is denied.Successfully processed 0 files; Failed processing 1 files
Może się to zdarzyć, gdy napotka twarde łącze NTFS. Błąd pojawia się zwykle przy próbie zmiany własności chronionych plików w katalogu Windows – np. C:\Windows\Notepad.exe
. Twarde łącze jest reprezentacją systemu plików, w której więcej niż jedna ścieżka odwołuje się do pojedynczego pliku w tym samym woluminie.
Na przykład pliki Notepad.exe mają dwa twarde łącza, które można zobaczyć za pomocą następującego polecenia:
fsutil.exe hardlink list C:\Windows\notepad.exe
Widzisz, że Notepad.exe ma twarde łącza do następujących plików:
C:\Windows\System32\Notepad.exeC:\Windows\WinSxS\amd64_microsoft-windows-notepad_31bf3856ad364e35_10.0.19041.488_none_4cea9379ceedab35\notepad.exe
Polecenie icacls.exe /setowner
napotyka błąd ACCESS_DENIED
podczas przetwarzania tych twardych łączy.
Zauważ, że dokumentacja icacls.exe mówi: „Ta opcja nie wymusza zmiany właściciela; do tego celu należy użyć narzędzia takeown.exe.”
Jeśli napotkasz błędy „Access is Denied” podczas ustawiania własności za pomocą Icacls, być może będziesz musiał polegać na Takeown.exe, SubInACL lub narzędziu wiersza poleceń SetACL.exe innej firmy (zobacz następny akapit).
Używanie SetACL.exe do przejmowania własności i przydzielania uprawnień
SetACL.exe jest narzędziem wiersza poleceń innej firmy (z HelgeKlein.com), które omówiliśmy już wcześniej.
SetACL: Argumenty wiersza poleceń
Zanim przejdziemy dalej, zobaczmy składnię wiersza poleceń do zmiany własności pliku/rejestru i uprawnień za pomocą SetACL.
SetACL -on objectname -ot objecttype -actn action
-
-on
: Określ ścieżkę do obiektu, na którym SetACL powinien działać (np, plik, klucz rejestru, udział sieciowy, usługa lub drukarka). -
-ot
: Określenie typu obiektu. Aby zmienić własność lub uprawnienia do pliku lub folderu, należy użyć typu obiektufile
. Dla kluczy rejestru, użyj typu obiektureg
-
-actn
: Określ akcję, co SetACL powinien zrobić wobec określonego obiektu. Dla przejęcia własności, ustaw akcję jakosetowner
. Aby zmienić uprawnienia, ustaw akcję jakoace
. -
-ownr
: Określ nazwę lub SID powiernika (użytkownika lub grupy) w tym formacie – np."n:Administrators"
(Zobacz dokumentację SetACL, aby uzyskać pełną listę obiektów, typów i obsługiwanych akcji.)
Aby zmienić własność i przyznać pełne uprawnienia kontrolne, oto kilka przykładów:
Przykłady: Zmiana własności pojedynczego pliku lub folderu:
setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on c:\windows\notepad.exe -ot file -actn setowner -ownr "n:John"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:Administrators"setacl.exe -on "d:\test" -ot file -actn setowner -ownr "n:John"
Przykłady: Zmień własność rekursywnie:
Opcja 1: Aby ustawić własność folderu i jego podfolderów (nie dla plików) rekursywnie, użyj jednego z tych przykładów:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec contsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont
-
-rec
– rekurencja jest włączona. -
cont
– rekursja, i przetwarzanie tylko katalogów.
Opcja 2: Aby ustawić własność plików w folderze i jego podfolderach (nie dla folderów) rekursywnie, użyj jednego z tych przykładów:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec obj
-
-rec
– rekursja jest włączona. -
obj
– rekursja, i przetwarzanie tylko plików.
Opcja 3: Aby ustawić własność folderu, jego podfolderów i plików rekursywnie, użyj jednego z tych przykładów:
setacl.exe -on d:\test -ot file -actn setowner -ownr "n:NT Service\TrustedInstaller" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Administrators" -rec cont_objsetacl.exe -on d:\test -ot file -actn setowner -ownr "n:Ramesh" -rec cont_obj
-
-rec
– rekurencja jest włączona. -
cont_obj
– rekursja, i przetwarzanie katalogów i plików.
Przykłady: Przypisywanie wymaganych uprawnień do pliku lub folderu:
Po uzyskaniu prawa własności można przypisać wymagane uprawnienia do obiektu. Oto kilka przykładów:
Aby przypisać uprawnienia dla pojedynczego pliku lub folderu, użyj jednego z tych przykładów:
setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test\sample.xlsx" -ot file -actn ace -ace "n:John;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full"setacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full"
Przykłady: Przydziel wymagane uprawnienia rekursywnie:
Opcja 1: Dla folderu i podfolderów (nie plików) rekursywnie, użyj jednego z tych przykładów:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec contsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont
-
-rec
– rekurencja jest włączona. -
cont
– rekursja, i przetwarzanie tylko katalogów.
Opcja 2: Dla plików w folderze i podfolderach (nie folderach) rekursywnie, użyj jednego z tych przykładów:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec obj
-
-rec
– rekurencja jest włączona. -
obj
– rekurencja i przetwarzanie tylko plików.
Opcja 3: Dla folderu, jego podfolderów i plików rekurencyjnie, użyj jednego z tych przykładów:
setacl.exe -on "d:\test" -ot file -actn ace -ace "n:Administrators;p:full" -rec cont_objsetacl.exe -on "d:\test" -ot file -actn ace -ace "n:John;p:full" -rec cont_obj
-
-rec
– rekurencja jest włączona. -
cont_obj
– Rekursja, i przetwarzanie katalogów i plików.
Możesz sprawdzić oficjalną dokumentację SetACL, aby poznać jego pełne możliwości. Jednakże, aby ustawić uprawnienia & własności plików i folderów, takeown.exe i icacls.exe będą więcej niż wystarczające dla większości użytkowników.
.