sesearch/seinfoコマンド

setoolsは、GUIが重いので、使いにくい、
と思ってたのだが、
コマンド版(sesearch)を使ってみたら、
動作が速いではないか。
というわけで、sesearch/seinfoコマンドは便利。

全部のallowを表示

sesearch --allow -C -i

  • Cを忘れると、booleanで切り替わる設定がでない
  • iを忘れるとattribute関連の設定がでない。

httpd_tに関する設定のみ表示

sesearch --allow -C -i -s httpd_t
↓みたいな感じで、booleanとの関わりも出てくれる。
(GUI版だと、booleanの部分が表示されない)

ET allow httpd_t @ttr0558 : file { ioctl read write create getattr setattr lock
append unlink link rename execute }; [ httpd_enable_cgi httpd_unified && httpd_b
uiltin_scripting && ]

「ET」「DT」はデフォルトのbooleanの設定で有効になってるか無効になってるか。

で、@ttr0558って何だ?と思うが、
seinfoコマンドを使えば分かる。

# seinfo -x -a
@ttr0558
httpd_apcupsd_cgi_content_t
httpd_sys_content_t
httpd_bugzilla_script_ra_t
httpd_bugzilla_script_ro_t
httpd_bugzilla_script_rw_t
httpd_bugzilla_content_t
httpd_squid_script_ra_t
httpd_squid_script_ro_t
httpd_squid_script_rw_t
httpd_sys_script_ra_t
httpd_sys_script_ro_t
httpd_sys_script_rw_t
httpd_w3c_validator_script_ra_t
httpd_w3c_validator_script_ro_t
httpd_w3c_validator_script_rw_t
httpd_w3c_validator_content_t
httpd_squid_content_t
httpd_apcupsd_cgi_script_ra_t
httpd_apcupsd_cgi_script_ro_t
httpd_apcupsd_cgi_script_rw_t

のようなタイプに関連付けられてることも分かる。
素晴らしい。

booleanの分析

booleanで一体何が切り替わるのか分からなくて困るが、
例えば、samba_enable_home_dirsというbooleanで
何が切り替わるか知りたい時は、以下で分かる。

#sesearch --allow -C -i -b samba_enable_home_dirs
Found 7 semantic av rules:
DT allow smbd_t user_home_dir_t : dir { ioctl read write getattr lock add_name remove_name search }; [ samba_enable_home_dirs ]
DT allow smbd_t user_home_t : file { ioctl read write create getattr setattr lock append unlink link rename }; [ samba_enable_home_dirs ]
DT allow smbd_t user_home_t : dir { ioctl read write create getattr setattr lock unlink link rename add_name remove_name reparent search rmdir }; [ samba_enable_home_dirs ]
DT allow smbd_t user_home_t : lnk_file { read create getattr setattr unlink rename }; [ samba_enable_home_dirs ]
DT allow smbd_t user_home_t : sock_file { ioctl read write create getattr setattr lock append unlink link rename }; [ samba_enable_home_dirs ]
DT allow smbd_t user_home_t : fifo_file { ioctl read write create getattr setattr lock append unlink link rename }; [ samba_enable_home_dirs ]
DT allow smbd_t home_root_t : dir { getattr search }; [ samba_enable_home_dirs ]