Jak zarządzać plikami ACL systemu plików za pomocą skryptów PowerShell

typy uprawnień NTFS dla plików i folderów

istnieją zarówno podstawowe, jak i zaawansowane uprawnienia NTFS . Możesz ustawić każde z uprawnień na „Zezwalaj” lub „odmawiaj”. Oto podstawowe uprawnienia:

  • Pełna kontrola: użytkownicy mogą modyfikować, dodawać, przenosić i usuwać pliki i katalogi, a także związane z nimi właściwości. Ponadto użytkownicy mogą zmieniać ustawienia uprawnień dla wszystkich plików i podkatalogów.
  • Modyfikuj: Użytkownicy mogą przeglądać i modyfikować pliki i właściwości plików, w tym usuwanie i dodawanie plików do katalogu lub właściwości pliku do pliku.
  • Read& Execute: użytkownicy mogą uruchamiać pliki wykonywalne, w tym skrypt
  • Read: użytkownicy mogą przeglądać pliki, właściwości plików i katalogi.
  • Write: użytkownicy mogą pisać do pliku i dodawać pliki do katalogów.

oto lista zaawansowanych uprawnień:

  • przejrzyj Folder/wykonaj plik: Użytkownicy mogą poruszać się po folderach, aby dotrzeć do innych plików lub folderów, nawet jeśli nie mają uprawnień do tych plików lub folderów. Użytkownicy mogą również uruchamiać pliki wykonywalne. Uprawnienie folderu Traverse działa tylko wtedy, gdy grupa lub użytkownik nie ma „sprawdzania obejścia trawersu” bezpośrednio w przystawce Zasady grupy.
  • List Folder / Read Data: użytkownicy mogą przeglądać listę plików i podfolderów w folderze, a także zawartość plików.
  • przeczytaj atrybuty: użytkownicy mogą przeglądać atrybuty pliku lub folderu, takie jak to, czy jest on tylko do odczytu, czy ukryty.
  • zapis atrybutów: użytkownicy mogą zmieniać atrybuty pliku lub folderu.
  • Czytaj Rozszerzone atrybuty: użytkownicy mogą przeglądać rozszerzone atrybuty pliku lub folderu, takie jak uprawnienia oraz czasy tworzenia i modyfikacji.
  • zapis rozszerzonych atrybutów: użytkownicy mogą zmieniać rozszerzone atrybuty pliku lub folderu.
  • tworzenie plików/ zapis danych: uprawnienie „Utwórz Pliki” umożliwia użytkownikom tworzenie plików w folderze. (To uprawnienie dotyczy tylko folderów.) Uprawnienie „Write Data” pozwala użytkownikom na wprowadzanie zmian w pliku i nadpisywanie istniejącej zawartości. (To uprawnienie dotyczy tylko plików.)
  • Utwórz foldery / Dołącz dane: uprawnienie „Utwórz foldery” pozwala użytkownikom tworzyć foldery w folderze. (To uprawnienie dotyczy tylko folderów.) Uprawnienie „Dołącz dane” pozwala użytkownikom na wprowadzanie zmian na końcu pliku, ale nie mogą zmienić, usunąć ani nadpisać istniejących danych. (To uprawnienie dotyczy tylko plików.)
  • Delete: użytkownicy mogą usunąć plik lub folder. (Jeśli użytkownicy nie mają uprawnień” Usuń „w pliku lub folderze, nadal mogą je usunąć, jeśli mają uprawnienia” Usuń podfoldery i pliki ” w folderze nadrzędnym.)
  • uprawnienia do odczytu: użytkownicy mogą odczytać uprawnienia pliku lub folderu, takie jak” Pełna kontrola”,” Odczyt „i”zapis”.
  • Zmiana uprawnień: użytkownicy mogą zmienić uprawnienia pliku lub folderu.
  • Przejmij na własność: użytkownicy mogą przejąć na własność plik lub folder. Właściciel pliku lub folderu zawsze może zmienić uprawnienia do niego, niezależnie od istniejących uprawnień, które chronią plik lub folder.
  • Synchronize: użytkownicy mogą używać obiektu do synchronizacji. Umożliwia to wątkowi odczekanie, aż obiekt znajdzie się w stanie sygnalizacji. Prawo to nie jest prezentowane w edytorze ACL. Więcej na ten temat można przeczytać tutaj.

wszystkie te uprawnienia użytkownika można znaleźć, uruchamiając następujący skrypt PowerShell:

::getnames()

uprawnienia NTFS mogą być jawne lub dziedziczone. Uprawnienia jawne są uprawnieniami konfigurowanymi indywidualnie, podczas gdy uprawnienia dziedziczone są dziedziczone z folderu nadrzędnego. Hierarchia uprawnień jest następująca:

  • Explicit Deny
  • Explicit Allow
  • dziedziczone Deny
  • dziedziczone Allow

teraz, gdy wiemy, że uprawnienia NTFS są, przyjrzyjmy się, jak nimi zarządzać.

Pobierz ACL dla plików i folderów

pierwszym cmdletem PowerShell używanym do zarządzania uprawnieniami do plików i folderów jest „get-acl”; zawiera listę wszystkich uprawnień do obiektów. Na przykład, uzyskamy listę wszystkich uprawnień do folderu ze ścieżką obiektu „\\FS1\shared \ sales”:

get-acl \\fs1\shared\sales | fl

Jeśli chcesz uzyskać pełny raport uprawnień NTFS za pośrednictwem PowerShell, możesz postępować zgodnie z tym prostym poradnikiem dotyczącym eksportowania uprawnień NTFS do pliku CSV.

Kopiuj uprawnienia do plików i folderów

aby skopiować uprawnienia, użytkownik musi posiadać zarówno foldery źródłowe, jak i docelowe. Poniższe polecenie skopiuje uprawnienia z folderu „Accounting” do folderu „Sales”:

get-acl \\fs1\shared\accounting | Set-Acl \\fs1\shared\sales

jak widzimy na wyjściu poleceń „get-acl” przed i po skopiowaniu uprawnień, uprawnienia folderu udostępnionego „Sales” zostały zmienione.

Ustawianie uprawnień do plików i folderów

polecenie cmdlet PowerShell „set-acl” służy do zmiany deskryptora bezpieczeństwa określonego elementu, takiego jak plik, folder lub klucz rejestru; innymi słowy, służy do modyfikowania uprawnień do plików lub folderów. Poniższy skrypt ustawia uprawnienie” FullControl „na” Zezwól „dla użytkownika” ENTERPRISE\T.Jeśli chcesz ustawić inne uprawnienia dla użytkowników lub grup zabezpieczeń, wybierz je z poniższej tabeli:

istnieją również zestawy uprawnień podstawowych praw dostępu, które można zastosować:

Usuń uprawnienia użytkownika

aby usunąć uprawnienia, użyj parametru”Removeaccessrule”. Usuńmy uprawnienie” Allow FullControl „dla T. Simpsona do folderu „Sales”:

zauważ, że T.Simpson nadal ma pozwolenie „Deny FullControl”. Aby go usunąć, użyjmy polecenia „PurgeAccessRules”, które całkowicie wyczyści uprawnienia T. Simpsona do folderu” Sales”:

zauważ, że” PurgeAccessRules ” nie działa z ciągową nazwą użytkownika; działa tylko z SIDs. Dlatego użyliśmy klasy „Ntaccount”, aby przekonwertować nazwę konta użytkownika z ciągu znaków na SID. Zauważ również, że „PurgeAccessRules” działa tylko z wyraźnymi uprawnieniami; nie czyści odziedziczonych uprawnień.

Wyłącz lub włącz dziedziczenie uprawnień

aby zarządzać dziedziczeniem, używamy metody „SetAccessRuleProtection”. Posiada dwa parametry:

  • pierwszy parametr odpowiada za blokowanie dziedziczenia z folderu nadrzędnego. Ma dwa stany: „$ true „I”$false”.
  • drugi parametr określa, czy bieżące odziedziczone uprawnienia są zachowywane czy usuwane. Ma te same dwa stany: „$ true „I”$false”.

wyłączmy dziedziczenie dla folderu „Sales” i usuń wszystkie odziedziczone uprawnienia:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($true,$false)$acl | Set-Acl \\fs1\shared\sales

teraz mamy tylko jedno uprawnienie dostępu (ponieważ zostało dodane jawnie); wszystkie odziedziczone uprawnienia zostały usunięte.

Przywróćmy tę zmianę i ponownie włączmy dziedziczenie dla folderu „Sales”:

$acl = Get-Acl \\fs1\shared\sales$acl.SetAccessRuleProtection($false,$true)$acl | Set-Acl \\fs1\shared\sales

Zmień własność pliku i folderu

Jeśli chcesz ustawić właściciela folderu, musisz uruchomić metodę „SetOwner”. Uczyńmy „ENTERPRISE\J. Carter” właścicielem folderu „Sales”:

zauważ, że ponownie użyliśmy klasy „Ntaccount” do konwersji nazwy konta użytkownika z ciągu znaków na SID.

zauważ, że metoda „SetOwner” nie pozwala na zmianę właściciela na dowolne konto; konto musi mieć prawa „Take Ownership”, „Read” I „Change Permissions”.

jak widać, zarządzanie uprawnieniami NTFS za pomocą PowerShell jest bardzo łatwe. Nie zapomnij również sprawdzić uprawnień systemu NTFS — kluczowe znaczenie dla bezpieczeństwa ma śledzenie wszystkich zmian wprowadzonych na serwerach plików w celu zmniejszenia wycieku danych i zwalczania zagrożeń wewnętrznych i innych zagrożeń bezpieczeństwa IT. Oto podstawowy przewodnik, jak kontrolować uprawnienia NTFS za pomocą PowerShell.

Jeff jest dyrektorem ds. Jest wieloletnim blogerem, prelegentem i prezenterem Netwrix. Na blogu Netwrix Jeff dzieli się lifehackami, poradami i wskazówkami, które mogą znacznie poprawić zarządzanie systemem.

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.