Caspol.exe (Narzędzie zasad zabezpieczeń dostępu kodu)
Narzędzie (Caspol.exe) sprawdzania zabezpieczeń dostępu kodu (CAS) pozwala użytkownikom i administratorom na modyfikowanie zasad bezpieczeństwa na poziomie zasad komputera, na poziomie zasad użytkownika i na poziomie zasad przedsiębiorstwa.
Ważne
Począwszy od programu .NET Framework 4, Caspol.exe nie ma wpływu na zasady CAS, chyba że <starszy elementCasPolicy> ma wartość true
. Wszystkie ustawienia wyświetlane lub modyfikowane przez CasPol.exe będą mieć wpływ tylko na aplikacje, które zdecydują się na korzystanie z zasad CAS.
Uwaga
Zabezpieczenia dostępu kodu (CAS) zostały wycofane we wszystkich wersjach programu .NET Framework i .NET. Najnowsze wersje platformy .NET nie honorują adnotacji CAS i generują błędy, jeśli są używane interfejsy API związane z usługą CAS. Deweloperzy powinni szukać alternatywnych sposobów wykonywania zadań zabezpieczeń.
Uwaga
Na komputerach 64-bitowych dostępne są obie, 32-bitowa i 64-bitowa, wersje zasad zabezpieczeń. Aby upewnić się, że zmiany zasad mają zastosowanie do obu, 32-bitowych i 64-bitowych aplikacji, należy uruchomić obie, 32-bitową i 64-bitową, wersję Caspol.exe.
Narzędzie zasady zabezpieczeń dostępu do kodu jest automatycznie instalowane za pomocą programu .NET Framework i programu Visual Studio. Caspol.exe można znaleźć w folderze %windir%\Microsoft.NET\Framework\version w systemach 32-bitowych lub %windir%\Microsoft.NET\Framework64\version w systemach 64-bitowych. (Na przykład lokalizacja to %windir%\Microsoft.NET\Framework64\v4.030319\caspol.exe dla programu .NET Framework 4 w systemie 64-bitowym). Jeśli na komputerze jest uruchomionych wiele wersji programu .NET Framework, może być zainstalowanych wiele wersji tego narzędzia. Narzędzie można uruchomić z katalogu instalacji. Zalecamy jednak używanie wiersza polecenia dla deweloperów programu Visual Studio lub programu Visual Studio Developer PowerShell, który nie wymaga przejścia do folderu instalacyjnego.
W wierszu polecenia wpisz:
Składnia
caspol [options]
Parametry
Opcja | Opis |
---|---|
-addfulltrust assembly_file lub -af assembly_file |
Dodaje zestaw, który implementuje niestandardowy obiekt zabezpieczeń (taki jak niestandardowe uprawnienia lub niestandardowe warunki członkostwa), do listy zestawów o pełnym zaufaniu dla specyficznego poziomu zasad. Argument assembly_file określa zestaw do dodania. Ten plik musi być podpisany przy użyciu silnej nazwy. Zestaw można podpisać przy użyciu silnej nazwy przy użyciu narzędzia Strong Name Tool (Sn.exe). Za każdym razem, gdy zestaw uprawnień zawierający niestandardowe uprawnienia jest dodawany do zasad, zestaw implementujący niestandardowe uprawnienia musi zostać dodany do listy zestawów o pełnym zaufaniu dla danego poziomu zasad. Zestawy, które implementują niestandardowe obiekty zabezpieczeń (takie jak niestandardowe grupy kodu lub warunki członkostwa) używane w zasadach zabezpieczeń (takich jak zasady komputera) powinny być zawsze dodawane do listy zestawów pełnego zaufania. Uwaga: Jeśli zestaw implementuje niestandardowy obiekt zabezpieczeń odwołuje się do innych zestawów, należy najpierw dodać zestawy, do których odwołuje się zestaw, do listy zestawów pełnego zaufania. Niestandardowe obiekty zabezpieczeń stworzone za pomocą języków Visual Basic, C++ i JScript odwołują się odpowiednio do Microsoft.VisualBasic.dll, Microsoft.VisualC.dll lub Microsoft.JScript.dll. Te zestawy nie znajdują się domyślnie na liście zestawów pełnego zaufania. Należy dodać odpowiedni zestaw do listy o pełnym zaufaniu przed dodaniem niestandardowego obiektu zabezpieczeń. Niewykonanie tej czynności spowoduje awarię systemu zabezpieczeń, powodując niepowodzenie ładowania zestawów. W takiej sytuacji opcja Caspol.exe -all -reset nie naprawi zabezpieczeń. W celu naprawienia zabezpieczeń należy ręcznie wyedytować pliki zabezpieczeń, aby usunąć niestandardowy obiekt zabezpieczeń. |
-addgroup {parent_label | parent_name} mship pset_name [flagi] lub -ag {parent_label | parent_name} mship pset_name [flagi] |
Dodaje nową grupę kodu do hierarchii grup kodu. Można określić parent_label lub parent_name. Argument parent_label określa etykietę (na przykład 1. lub 1.1.) grupy kodu, która jest elementem nadrzędnym dodawanej grupy kodu. Argument parent_name określa nazwę grupy kodu, która jest elementem nadrzędnym dodawanej grupy kodu. Ponieważ parent_label i parent_name mogą być używane zamiennie, Caspol.exe musi być w stanie je rozróżnić. W związku z tym parent_name nie może zaczynać się od liczby. Ponadto parent_name może zawierać tylko znaki A-Z, 0–9 i podkreślenia. Argument mship określa warunek członkostwa dla nowej grupy kodu. Aby uzyskać więcej informacji, zobacz tabelę argumentów mship w dalszej części tej sekcji. Argument pset_name to nazwa zestawu uprawnień, który zostanie skojarzony z nową grupą kodu. Można również ustawić co najmniej jedną flagę dla nowej grupy. Aby uzyskać więcej informacji, zobacz tabelę argumentów flag w dalszej części tej sekcji. |
-addpset {psfile psfile | pset_name} lub -ap {named_psfile psfile | pset_name} |
Dodaje nowy, nazwany zestaw uprawnień do zasad. Zestaw uprawnień musi być w formacie XML i być zapisany w pliku xml. Jeśli plik XML zawiera nazwę zestawu uprawnień, zostanie określony tylko ten plik (psfile). Jeśli plik XML nie zawiera nazwy zestawu uprawnień, musisz określić zarówno nazwę pliku XML (psfile) jak i nazwę zestawu uprawnień (pset_name). Wszystkie uprawnienia używane w zestawie uprawnień muszą być zdefiniowane w zestawach zawartych w globalnej pamięci podręcznej zestawów. |
-a[ll] | Wskazuje, że wszystkie opcje następujące po niej mają zastosowanie do zasad komputera, użytkownika i przedsiębiorstwa. Opcja -all zawsze odwołuje się do zasad aktualnie zalogowanego użytkownika. Zobacz opcję -customall, aby odwołać się do zasad użytkownika innego niż bieżący użytkownik. |
-chggroup {label |name} {mship | pset_name | Flagi } lub -cg {label |name} {mship | pset_name | Flagi } |
Zmienia warunek członkostwa grupy kodu, zestaw uprawnień lub ustawienia flag wyłączności, zakończenia poziomu, nazwy lub opisu . Możesz określić etykietę lub nazwę. Argument etykiety określa etykietę (na przykład 1. lub 1.1.) grupy kodu. Argument name określa nazwę grupy kodu do zmiany. Ponieważ etykieta i nazwa mogą być używane zamiennie, Caspol.exe musi być w stanie je rozróżnić. W związku z tym nazwa nie może zaczynać się od liczby. Ponadto nazwa może zawierać tylko znaki A-Z, 0–9 i podkreślenia. Argument pset_name określa nazwę zestawu uprawnień do skojarzenia z grupą kodu. Aby uzyskać informacje na temat argumentów mship i flag, zobacz tabele w dalszej części tej sekcji. |
-chgpset psfile pset_name lub -cp psfile pset_name |
Zmienia nazwany zestaw uprawnień. Argument psfile dostarcza nową definicję zestawu uprawnień; jest to serializowany plik zestawu uprawnień w formacie XML. Argument pset_name określa nazwę zestawu uprawnień, który chcesz zmienić. |
-customall path lub -ca path |
Wskazuje, że wszystkie opcje następujące po niej, mają zastosowanie do zasad komputera, przedsiębiorstwa i określonych niestandardowych zasad użytkownika. Należy określić lokalizację pliku konfiguracji zabezpieczeń niestandardowego użytkownika z argumentem path . |
-cu[stomuser] ścieżka | Umożliwia administrowanie niestandardowymi zasadami użytkownika, które nie należą do użytkownika, w którym imieniu Caspol.exe jest obecnie uruchomiona. Należy określić lokalizację pliku konfiguracji zabezpieczeń niestandardowego użytkownika z argumentem path . |
-przedsiębiorstwo lub -En |
Wskazuje, że wszystkie opcje następujące po niej, mają zastosowanie do poziomu zasad przedsiębiorstwa. Użytkownicy, którzy nie są administratorami przedsiębiorstwa, nie mają wystarczających uprawnień do modyfikowania zasad przedsiębiorstwa, chociaż mogą je wyświetlać. W scenariuszach innych niż przedsiębiorstwa te zasady domyślnie nie zakłócają zasad komputera i użytkowników. |
-e[xecution] {on | off} | Włącza lub wyłącza mechanizm sprawdzający uprawnienia uruchamiania przed rozpoczęciem wykonywania kodu. Uwaga: ten przełącznik jest usuwany w programie .NET Framework 4 i nowszych wersjach. |
-f[orce] | Pomija test samolikwidacji narzędzia i zmienia zasady określone przez użytkownika. Zwykle Caspol.exe sprawdza, czy jakiekolwiek zmiany zasad uniemożliwiłyby prawidłowe działanie Caspol.exe samego siebie; jeśli tak, Caspol.exe nie zapisuje zmian zasad i wyświetla komunikat o błędzie. Aby wymusić Caspol.exe zmiany zasad, nawet jeśli uniemożliwia to Caspol.exe się uruchamiać, użyj opcji –force . |
-h[elp] | Wyświetla składnię polecenia i opcje programu Caspol.exe. |
-l[ist] | Wypisuje hierarchię grup kodu i zestawy uprawnień dla określonego komputera, użytkownika, przedsiębiorstwa lub wszystkich poziomów zasad. Caspol.exe wyświetla najpierw etykietę grupy kodu, a następnie nazwę, jeśli nie ma wartości null. |
-listdescription lub -Ld |
Wypisuje opisy wszystkich grup kodu dla określonego poziomu zasad. |
-listfulltrust lub -Lf |
Wypisuje zawartość listy zestawów o pełnym zaufaniu dla określonego poziomu zasad. |
-listgroups lub -Lg |
Wypisuje grupy kodu dla określonego poziomu zasad lud dla wszystkich poziomów zasad. Caspol.exe wyświetla najpierw etykietę grupy kodu, a następnie nazwę, jeśli nie ma wartości null. |
-listpset lub -lp | Wyświetla zestawy uprawnień dla określonego poziomu zasad lub poziomów zasad. |
-m[achine] | Wskazuje, że wszystkie opcje następujące po niej, mają zastosowanie do poziomu zasad komputera. Użytkownicy, którzy nie są administratorami, nie mają wystarczających uprawnień do modyfikowania zasad komputera, chociaż mogą je wyświetlać. W przypadku administratorów parametr -machine jest domyślny. |
-polchgprompt {on | off} lub -pp {on | off} |
Włącza lub wyłącza monit, który jest wyświetlany zawsze, gdy Caspol.exe jest uruchamiany z opcją powodującą zmianę zasad. |
-quiet lub -q |
Tymczasowo wyłącza monit, który jest normalnie wyświetlany dla opcji powodującej zmianę zasad. Globalne ustawienie monitu nie jest zmieniane. Należy użyć tej opcji w pojedynczym poleceniu, aby uniknąć wyłączenia monitu dla wszystkich poleceń Caspol.exe. |
-r[ecover] | Odzyskuje zasady z pliku kopii zapasowej. Zawsze, gdy zmieniane są zasady, Caspol.exe zapisuje stare zasady w pliku kopii zapasowej. |
-remfulltrust assembly_file lub -rf assembly_file |
Usuwa zestaw z listy zestawów o pełnym zaufaniu poziomu zasad. Ta operacja powinna być wykonana, jeśli zestaw uprawnień, który zawiera niestandardowe uprawnienie, nie jest już dłużej używany przez zasady. Należy jednak usunąć zestaw, który implementuje uprawnienie niestandardowe z listy pełnego zaufania tylko wtedy, gdy zestaw nie implementuje żadnych innych uprawnień niestandardowych, które są nadal używane. Po usunięciu zestawu z listy, należy także usunąć wszystkie inne zależne zestawy. |
-remgroup {label |name} lub -rg {label | name} |
Usuwa grupę kodu określoną za pomocą nazwy lub etykiety. Jeżeli określona grupa kodu posiada podrzędne grupy kodu, Caspol.exe usunie także wszystkie podrzędne grupy kodu. |
-rempset pset_name lub -rp pset_name |
Usuwa określony zestaw uprawnień z zasad. Argument pset_name wskazuje, które uprawnienia mają być usuwane. Caspol.exe usuwa zestaw uprawnień tylko wtedy, gdy nie jest skojarzony z żadną grupą kodu. Nie można usunąć domyślnych (wbudowanych) zestawów uprawnień. |
-resetować lub -rs |
Przywraca zasadom domyślny stan i zapisuje je na dysku. Jest to użyteczne, gdy zmienione zasady są nie do naprawienia i trzeba rozpocząć od nowa, z domyślnymi ustawieniami instalacji. Resetowanie może być również wygodne, gdy zachodzi potrzeba użycia domyślnych zasad jako punktu początkowego do modyfikacji określonych plików konfiguracji zabezpieczeń. Aby uzyskać więcej informacji, zobacz Ręczne edytowanie plików konfiguracji zabezpieczeń. |
-resetlockdown lub -rsld |
Zwraca zasady do bardziej restrykcyjnej wersji stanu domyślnego i utrwala je na dysku; Tworzy kopię zapasową poprzednich zasad maszyny i utrwala ją w pliku o nazwie security.config.bac . Zablokowane zasady są podobne do zasad domyślnych, z tą różnicą, że zasady nie mają uprawnień do kodu ze Local Intranet stref , Trusted Sites i i Internet odpowiednich grup kodu nie mają podrzędnych grup kodu. |
-resolvegroup assembly_file lub -rsg assembly_file |
Pokazuje grupy kodu, do których należy określony zestaw (assembly_file). Domyślnie ta opcja wyświetla poziomy zasad komputera, użytkownika i przedsiębiorstwa, do których należy zestaw. Aby wyświetlić tylko jeden poziom zasad, użyj tej opcji z opcją -machine, -user lub -enterprise . |
-resolveperm assembly_file lub -rsp assembly_file |
Wyświetla wszystkie uprawnienia, które zostaną przydzielone zestawowi, przez określony (lub domyślny) poziom zasad bezpieczeństwa, gdyby zestaw mógł być uruchomiony. Argument assembly_file określa zestaw. Jeśli określisz opcję -all , Caspol.exe oblicza uprawnienia dla zestawu na podstawie zasad użytkownika, komputera i przedsiębiorstwa. W przeciwnym razie mają zastosowanie domyślne reguły zachowania. |
-s[ecurity] {on | off} | Włącza lub wyłącza zabezpieczenia dostępu kodu. Określanie opcji -s off nie powoduje wyłączenia zabezpieczeń opartych na rolach. Uwaga: ten przełącznik jest usuwany w programie .NET Framework 4 i nowszych wersjach. Uwaga: po wyłączeniu zabezpieczeń dostępu do kodu wszystkie żądania dostępu kodu kończą się powodzeniem. Wyłączenie zabezpieczeń dostępu kodu sprawia, że system staje się podatny na ataki złośliwego kodu, takiego jak wirusy i robaki. Wyłączenie zabezpieczeń zapewnia dodatkową wydajność, ale należy wykonać tylko wtedy, gdy podjęto inne środki bezpieczeństwa, aby upewnić się, że ogólne zabezpieczenia systemu nie zostaną naruszone. Przykłady innych środków ostrożności to: odłączenie od sieci publicznych, fizyczne zabezpieczanie komputerów i tak dalej. |
-u[ser] | Wskazuje, że wszystkie opcje następujące po niej, mają zastosowanie do poziomu zasad użytkownika, w którego imieniu Caspol.exe jest uruchomiony. W przypadku użytkowników niebędących administratorami parametr -user jest wartością domyślną. |
-? | Wyświetla składnię polecenia i opcje programu Caspol.exe. |
Argument mship , który określa warunek członkostwa dla grupy kodu, może być używany z opcjami -addgroup i -chggroup . Każdy argument mship jest implementowany jako klasa .NET Framework. Aby określić mship, użyj jednego z następujących elementów.
Argument | opis |
---|---|
-allcode | Określa cały kod. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.AllMembershipCondition. |
-appdir | Określa katalog aplikacji. Jeśli określisz parametr –appdir jako warunek członkostwa, dowód adresu URL kodu jest porównywany z dowodem katalogu aplikacji tego kodu. Jeśli obie wartości są takie same, warunek członkostwa jest spełniony. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.ApplicationDirectoryMembershipCondition. |
-custom xmlfile | Dodaje niestandardowy warunek członkostwa. Obowiązkowy argument xmlfile określa plik .xml zawierający serializacji XML niestandardowego warunku członkostwa. |
-hash hashAlg {-hex hashValue-file | assembly_file } | Określa kod, który posiada podany skrót zestawu. Aby użyć skrótu jako warunku członkostwa grupy kodu, należy określić wartość skrótu lub plik zestawu. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.HashMembershipCondition. |
-pub { -cert cert_file_name | -file signed_file_name-hexhex_string | } |
Określa kod, który posiada podanego wydawcę oprogramowania wskazanego przez plik certyfikatu, sygnaturę pliku lub reprezentację szesnastkową certyfikatu X509. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.PublisherMembershipCondition. |
-site website | Określa kod, który posiada określoną witrynę pochodzenia. Na przykład:-site** www.proseware.com Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.SiteMembershipCondition. |
-strong -file file_name {name-noname | } {version-noversion} | | Określa kod, który ma określoną silną nazwę, wyznaczoną przez nazwę pliku, nazwę zestawu jako ciąg i wersję zestawu w formacie głównym.drobne.kompilacja.poprawka. Na przykład: -strong -file myAssembly.exe myAssembly 1.2.3.4 Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.StrongNameMembershipCondition. |
-url URL | Określa kod, który pochodzi z określonego adresu URL. Adres URL musi zawierać protokół, taki jak http:// lub ftp:// . Ponadto symbol wieloznaczny (*) może służyć do określania wielu zestawów z określonego adresu URL. Uwaga: ponieważ adres URL można zidentyfikować przy użyciu wielu nazw, używanie adresu URL jako warunku członkostwa nie jest bezpiecznym sposobem ustalenia tożsamości kodu. Gdy jest to możliwe, należy używać silnej nazwy jako warunku członkostwa, wydawcy jako warunku członkostwa lub skrótu jako warunku członkostwa. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz System.Security.Policy.UrlMembershipCondition. |
-zone zonename | Określa kod, który pochodzi z określonej strefy. Argument zonename może być jedną z następujących wartości: MyComputer, Intranet, Trusted, Internet lub Untrusted. Aby uzyskać więcej informacji na temat tego warunku członkostwa, zobacz ZoneMembershipCondition Klasa. |
Argument flagi, który może być używany z opcjami –addgroup i –chggroup, jest określony przy użyciu jednej z następujących opcji.
Argument | opis |
---|---|
-description "description" | Jeśli jest używana z opcją –addgroup , określa opis grupy kodu do dodania. Jeśli jest używana z opcją –chggroup , określa opis grupy kodu do edycji. Argument opisu musi być ujęta w cudzysłowy. |
-exclusive {on|off} | Po ustawieniu wartości włączonej wskazuje, że tylko zestaw uprawnień skojarzony z dodaną lub modyfikowaną grupą kodu jest brany pod uwagę, gdy jakiś kod pasuje do warunku członkostwa grupy kodu. Gdy ta opcja jest wyłączona, Caspol.exe uwzględnia zestawy uprawnień wszystkich pasujących grup kodu na poziomie zasad. |
-levelfinal {on|off} | Po ustawieniu wartości włączonej wskazuje, że nie jest uwzględniany żaden poziom zasad poniżej poziomu, w którym jest uwzględniana dodana lub zmodyfikowana grupa kodu. Ta opcja jest typowo używana na poziomie zasad komputera. Na przykład, jeśli flaga grupy kodu ustawiona będzie na poziom komputera i jakiś kod odpowiada warunkowi członkostwa grupy kodu, Caspol.exe nie oblicza ani nie stosuje zasad poziomu użytkownika dla tego kodu. |
-name "name" | Jeśli jest używana z opcją –addgroup , określa nazwę skryptu dla grupy kodu do dodania. Jeśli jest używana z opcją -chggroup , określa nazwę skryptu dla grupy kodu do edycji. Argument nazwy musi być ujęta w cudzysłowy. Argument nazwy nie może zaczynać się od liczby i może zawierać tylko znak A-Z, 0-9 i znak podkreślenia. Grupy kodu można odwoływać się przy użyciu tej nazwy , a nie przez ich etykietę liczbową. Nazwa jest również bardzo przydatna w celach skryptowych. |
Uwagi
Zasady zabezpieczeń są wyrażone za pomocą trzech poziomów zasad: zasady komputera, zasady użytkownika i zasady przedsiębiorstwa. Zestaw uprawnień otrzymanych przez zestaw jest określony przez przecięcie zestawów uprawnień dopuszczonych przez trzy poziomy zasad. Każdy poziom zasad jest reprezentowany przez hierarchiczną strukturę grup kodu. Każda grupa kodu posiada warunek członkostwa, który określa, jaki kod jest członkiem tej grupy. Nazwany zestaw uprawnień jest również skojarzony z każdą grupą kodu. Ten zestaw uprawnień określa uprawnienia, które spełniają warunek członkostwa, jakie środowisko uruchomieniowe przydziela kodowi. Hierarchia grup kodu ze skojarzonymi nazwanymi zestawami uprawnień definiuje i utrzymuje każdy poziom zasad zabezpieczeń. Możesz użyć opcji -user, -customuser, -machine i -enterprise , aby ustawić poziom zasad zabezpieczeń.
Aby uzyskać więcej informacji na temat zasad zabezpieczeń i sposobu określania przez środowisko uruchomieniowe uprawnień do udzielenia kodu, zobacz Zarządzanie zasadami zabezpieczeń.
Odwoływanie się do grup kodu i zestawów uprawnień
Aby ułatwić odwołania do grup kodu w hierarchii, opcja -list wyświetla wciętą listę grup kodu wraz z ich etykietami liczbowymi (1, 1.1, 1.1.1 itd.). Inne operacje wiersza polecenia przeznaczone dla grup kodu także używają etykiet liczbowych, aby odwołać się do określonej grupy kodu.
Odwołania do nazwanych zestawów uprawnień możliwe są przy użyciu ich nazw. Opcja –list wyświetla listę grup kodu, po których następuje lista nazwanych zestawów uprawnień dostępnych w tych zasadach.
Zachowanie Caspol.exe
Wszystkie opcje z wyjątkiem -s[ecurity] {on | off} używają wersji programu .NET Framework, z którą zainstalowano Caspol.exe. Jeśli uruchomisz Caspol.exe, który został zainstalowany z wersją X środowiska uruchomieniowego, zmiany dotyczą tylko tej wersji. Inne instalacje środowiska uruchomieniowego, jeśli są, nie zostaną uwzględnione. Jeżeli program Caspol.exe jest uruchamiany w wierszu poleceń poza katalogiem określonej wersji środowiska uruchomieniowego, narzędzie jest wykonywane w pierwszym katalogu wersji środowiska uruchomieniowego w ścieżce (zazwyczaj ostatnio zainstalowane środowisko uruchomieniowe).
Opcja -s[ecurity] {on | off} jest operacją dla całego komputera. Wyłączenie zabezpieczeń dostępu kodu przerywa sprawdzenia zabezpieczeń dla całego kodu zarządzanego i dla wszystkich użytkowników komputera. Jeżeli jest zainstalowanych wiele wersji platformy .NET Framework, to polecenie wyłączy zabezpieczenia dla każdej zainstalowanej wersji na komputerze. Mimo że opcja -list pokazuje, że zabezpieczenia są wyłączone, nic innego wyraźnie nie wskazuje dla innych użytkowników, że zabezpieczenia zostały wyłączone.
Gdy użytkownik bez uprawnień administracyjnych zostanie uruchomiony Caspol.exe, wszystkie opcje odwołują się do zasad na poziomie użytkownika, chyba że określono opcję –machine . Gdy administrator uruchomi Caspol.exe, wszystkie opcje odwołują się do zasad komputera, chyba że zostanie określona opcja –user .
Caspol.exe należy przyznać odpowiednik uprawnienia Wszystko ustawione na funkcję. Narzędzie posiada mechanizm zabezpieczający, który uniemożliwia modyfikowanie zasad w sposób uniemożliwiający udzielenia Caspol.exe uprawnień, których potrzebuje do uruchomienia. Podczas próby zmiany ustawień program Caspol.exe powiadamia, że żądana zmiana zasad spowoduje awarię narzędzia i zmiana zasad zostanie odrzucona. Ten mechanizm ochronny dla danego polecenia można wyłączyć przy użyciu opcji –force .
Ręczna edycja plików konfiguracji zabezpieczeń
Trzy pliki konfiguracji zabezpieczeń odnoszą się do trzech poziomów zabezpieczeń obsługiwanych przez Caspol.exe: jeden dla zasad komputera, jeden dla podanego użytkownika i jeden dla zasad przedsiębiorstwa. Te trzy pliki są tworzone na dysku tylko wtedy, gdy zasady komputera, użytkownika lub przedsiębiorstwa są zmienione za pomocą Caspol.exe. W Caspol.exe można użyć opcji –reset , aby w razie potrzeby zapisać domyślne zasady zabezpieczeń na dysku.
W większości przypadków ręczne edytowanie plików konfiguracji zabezpieczeń nie jest zalecane. Jednak mogą pojawić się scenariusze, w których modyfikowanie tych plików może być konieczne, na przykład gdy administrator chce edytować konfigurację zabezpieczeń dla określonego użytkownika.
Przykłady
-addfulltrust
Zakłada, że zestaw uprawnień zawierający niestandardowe uprawnienie został dodany do zasad komputera. To uprawnienie niestandardowe jest implementowane w MyPerm.exe
klasach , a MyPerm.exe
odwołania w programie MyOther.exe
. Oba zestawy muszą być dodane do listy zestawów o pełnym zaufaniu. Następujące polecenie dodaje MyPerm.exe
zestaw do pełnej listy zaufania dla zasad maszyny.
caspol -machine -addfulltrust MyPerm.exe
Następujące polecenie dodaje MyOther.exe
zestaw do pełnej listy zaufania dla zasad maszyny.
caspol -machine -addfulltrust MyOther.exe
-addgroup
Następujące polecenie dodaje podrzędną grupę kodu do korzenia hierarchii grup kodu zasad komputera. Nowa grupa kodu jest członkiem strefy internetowej i jest skojarzona z zestawem uprawnień Wykonywanie .
caspol -machine -addgroup 1. -zone Internet Execution
Następujące polecenie dodaje podrzędną grupę kodu, która daje udział \\netserver\netshare uprawnienia lokalnego intranetu.
caspol -machine -addgroup 1. -url \\netserver\netshare\* LocalIntranet
-addpset
Następujące polecenie dodaje Mypset
zestaw uprawnień do zasad użytkownika.
caspol -user -addpset Mypset.xml Mypset
-chggroup
Następujące polecenie zmienia zestaw uprawnień w zasadach użytkownika grupy kodu oznaczonej jako 1.2. w zestawie uprawnień Wykonywanie .
caspol -user -chggroup 1.2. Execution
Następujące polecenie zmienia warunek członkostwa w domyślnych zasadach grupy kodu oznaczonej jako 1.2.1. i zmienia ustawienie flagi wyłącznej. Warunek członkostwa jest definiowany jako kod pochodzący ze strefy internetowej, a flaga wyłączna jest włączona.
caspol -chggroup 1.2.1. -zone Internet -exclusive on
-chgpset
Następujące polecenie zmienia zestaw uprawnień o nazwie Mypset
na zestaw uprawnień zawarty w pliku newpset.xml
. Należy pamiętać, że bieżąca wersja nie obsługuje zmieniania zestawów uprawnień używanych przez hierarchię grup kodu.
caspol -chgpset Mypset newpset.xml
-siła
Następujące polecenie powoduje skojarzenie głównej grupy kodu zasad użytkownika (oznaczonej jako 1) z zestawem uprawnień Nic nazwanego. Uniemożliwia to uruchomienie programu Caspol.exe.
caspol -force -user -chggroup 1 Nothing
-odzyskać
Następujące polecenie odzyskuje ostatnie zapisane zasady komputera.
caspol -machine -recover
-remgroup
Następujące polecenie usuwa grupę kodu z etykietą 1.1. Jeśli grupa kodu posiada węzły podrzędne, te grupy również zostaną usunięte.
caspol -remgroup 1.1.
-rempset
Następujące polecenie usuwa zestaw uprawnień wykonywania z zasad użytkownika.
caspol -user -rempset Execution
Następujące polecenie powoduje Mypset
usunięcie z poziomu zasad użytkownika.
caspol -rempset MyPset
-resolvegroup
Poniższe polecenie przedstawia wszystkie grupy kodu zasad maszyny, które myassembly
należą do.
caspol -machine -resolvegroup myassembly
Poniższe polecenie przedstawia wszystkie grupy kodu maszyny, przedsiębiorstwa i określone niestandardowe zasady użytkownika, które myassembly
należą do.
caspol -customall "c:\config_test\security.config" -resolvegroup myassembly
-resolveperm
Następujące polecenie oblicza uprawnienia na testassembly
podstawie poziomów zasad komputera i użytkownika.
caspol -all -resolveperm testassembly