Udostępnij przez


Zarządzanie uprawnieniami w systemie plików

Privilege to mechanizm używany przez system operacyjny do kontrolowania określonych operacji. Każde uprawnienie ma określone operacje skojarzone z nimi, które wywołujący może wykonać, jeśli spełnione są następujące dwa warunki:

  • Przywilej musi być utrzymywany przez wywołującego.
  • Należy również włączyć uprawnienia.

Zasada tych wymagań jest znana jako zasada najmniejszych uprawnień. Zasada najmniejszych uprawnień wymaga włączenia uprawnień przed ich wykorzystaniem, zamiast zakładania, że są już włączone. To wymaganie minimalizuje prawdopodobieństwo, że użytkownik może przypadkowo wykonać operację, której nie zamierzał. Na przykład SeRestorePrivilege zazwyczaj pozwala wywołującemu obejść standardowe kontrole dostępu do zapisu do pliku. Na przykład administrator może nie chcieć faktycznie pominąć normalnych kontroli zabezpieczeń podczas kopiowania pliku. Mogą jednak chcieć to zrobić podczas przywracania tego samego pliku przy użyciu narzędzia do tworzenia kopii zapasowej/przywracania.

W przypadku systemów plików istnieje wiele uprawnień, które są często używane do modyfikowania normalnego zachowania (w szczególności kontroli zabezpieczeń) dla systemu. Te uprawnienia są następujące:

  • SeBackupPrivilege umożliwia pobieranie zawartości pliku, nawet jeśli deskryptor zabezpieczeń w pliku może nie udzielić takiego dostępu. Obiekt dzwoniący z włączonym przywilejem SeBackupPrivilege unika konieczności przeprowadzania kontroli zabezpieczeń opartych na ACL.

  • SeRestorePrivilege zezwala na modyfikowanie zawartości pliku, nawet jeśli deskryptor zabezpieczeń w pliku może nie udzielić takiego dostępu. Tej funkcji można również użyć do zmiany właściciela i ochrony.

  • SeChangeNotifyPrivilege umożliwia przechodzenie w prawo. To uprawnienie jest ważną optymalizacją w systemie Windows, ponieważ eliminuje koszt przeprowadzania kontroli zabezpieczeń w każdym katalogu w ścieżce.

  • SeManageVolumePrivilege umożliwia wykonywanie określonych operacji zarządzania na poziomie woluminu, takich jak blokowanie woluminu, defragmentowanie, odmontowywanie woluminu i ustawianie prawidłowej długości danych dla woluminu w systemie Windows XP i nowszych. Sterownik systemu plików jawnie wymusza to szczególne uprawnienie głównie na podstawie operacji FSCTL. W takim przypadku system plików podejmuje decyzję o zasadach w celu wymuszenia tego uprawnienia. Określenie, czy to uprawnienie jest utrzymywane przez odbiorcę, jest dokonywane przez monitor referencyjny zabezpieczeń jako część normalnego procesu sprawdzania uprawnień.

Chociaż istnieje wiele innych uprawnień, zwykle są nieprzezroczyste w systemach plików i interpretuje je tylko Monitor odwołań do zabezpieczeń (SRM).

Kluczowe procedury systemu Windows do zarządzania uprawnieniami w systemie plików to:

  • SePrivilegeCheck sprawdza określony zestaw niezbędnych uprawnień.

  • SeSinglePrivilegeCheck wykonuje sprawdzanie pojedynczego określonego uprawnienia; jest to zoptymalizowana wersja SePrivilegeCheck.

  • SeAccessCheck przeprowadza normalne sprawdzanie dostępu na obiekcie (zwykle obiekt pliku dla systemu plików).

  • SeFreePrivileges zwalnia blok uprawnień, który został zwrócony przez wcześniejsze wywołanie SeAccessCheck.

  • SeAppendPrivileges dodaje włączone uprawnienia do struktury ACCESS_STATE. Zazwyczaj system plików używa ACCESS_STATE przekazywanego do niego podczas przetwarzania IRP_MJ_CREATE.