ホームページ >運用・保守 >Linuxの運用と保守 >SELinux でポリシー ルールを表示するにはどのような方法がありますか?
SELinux でポリシー ルールを表示する方法: 1. seinfo コマンドを使用して、SELinux ポリシーが提供する関連ルールの数をクエリします。サブジェクト プロセスがターゲット ファイル リソースを読み取ることができるかどうかは、SELinux ポリシーとその内容に焦点を当てます。各ルールの構文は「seinfo [オプション]」です。 2. sesearch コマンドを使用して、SELinux ポリシー ルールの特定の内容をクエリします。構文は「sesearch [オプション] [ルール タイプ] [式]」です。
#このチュートリアルの動作環境: linux7.3 システム、Dell G3 コンピューター。
SELinux ポリシー ルールを表示するには、seinfo と sesearch の 2 つの方法があります。
SELinux の現在のデフォルト ポリシーが対象となっていますが、このポリシーにはいくつのルールが含まれていますか? seinfo
コマンドを使用してクエリを実行します。
seinfo コマンド は、SELinux ポリシーが提供する関連ルールの数を照会するために使用されます。対象プロセスがターゲット ファイル リソースを読み取れるかどうかは、SELinux ポリシーとポリシー内のさまざまな項目に焦点を当てます。ルールを選択し、このルールの定義を使用して、各ターゲット ファイルのセキュリティ コンテキスト、特に「タイプ」部分を処理します。
sesearch コマンドの形式は次のとおりです:
seinfo [选项]
共通オプション:
-a | SELinux のステータスとルールを一覧表示します。ブール値、識別、役割、タイプ、およびその他の情報 |
-t | すべての SELinux タイプのタイプをリストします |
-r | #すべての SELinux ロール タイプをリストします|
-b | |
seinfo
このコマンドではすべてのルールの名前のみが表示されます。ルールの具体的な内容を知りたい場合は、 sesearch
コマンド を使用する必要があります。 sesearch コマンドの形式は次のとおりです:
sesearch [选项] [规则类型] [表达式]オプション: -h: ヘルプ情報の表示;
ルール タイプ:
[root@localhost ~]# seinfo -b | grep http httpd_manage_ipa …省略部分输出… #查询和apache相关的规则,有httpd_manage_ipa规则 [root@localhost ~]# sesearch --all -b httpd_manage_ipa # httpd_manage_ipa规则中具体定义了哪些规则内容呢?使用sesearch命令查询一下 Found 4 semantic av rules: allow httpd_t var_run_t:dir { getattr search open } ; allow httpd_t memcached_var_run_t:file { ioctl read write create getattr setattr lock append unlink link rename open } ; allow httpd_t memcached_var_run_t:dir { ioctl read write getattr lock add_name remove_name search open } ; allow httpd_t var_t:dir { getattr search open } ; Found 20 role allow rules: allow system_r sysadm_r; allow sysadm_r system_r; …省略部分输出…各ルールは、多数の特定のルール コンテンツを定義します。これらのコンテンツは比較的複雑で、通常は変更する必要はありません。クエリを実行できるだけです。 しかし、場合によっては、ルールの名前ではなく、セキュリティ コンテキストの種類がわかっていることがあります。たとえば、Apache プロセスのドメインは httpd_t で、/var/www/html/ ディレクトリのタイプは httpd_sys_content_t であることがわかります。 Apache が /var/www/html/ ディレクトリにアクセスできるのは、httpd_t ドメインと httpd_sys_content_t タイプが一致するためです。 では、これら 2 つのタイプの一致ルールをクエリするにはどうすればよいでしょうか?コマンドは次のとおりです:
[root@localhost ~]# ps auxZ | grep httpd unconfined_u:system_r:httpd_t:s0 root 25620 0.0 0.5 11188 36X6 ? Ss 03:44 0:03 /usr/sbin/httpd #apache进程的域是httpd_t [root@localhost ~]# ls -Zd /var/www/html/ drwxr-xr-x. root root system_u:object_r:httpd_sys_content_t:s0 /var/www/html/ #/var/www/html/ 目录的类型是 httpd_sys_content_t [root@localhost ~]# sesearch --all -s httpd_t -t httpd_sys_content_t Found 13 semantic av rules: ...省略部分输出... allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open }; allow httpd_t httpd_sys_content_t : dir { ioctl read getattr lock search open }; allow httpd_t httpd_sys_content_t : lnk_file { read getattr }; allow httpd_t httpd_sys_content_t : file { ioctl read getattr lock open }; ...省略部分输出... #可以清楚地看到httpd_t域是允许访间和使用httpd_sys_content_t类型的関連する推奨事項: "
Linux ビデオ チュートリアル
"以上がSELinux でポリシー ルールを表示するにはどのような方法がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。