ホームディレクトリのタイプ付与

/root以下のファイルにデフォルトと違うタイプを付与したいのだが、うまくいかない。semanageコマンドでも付与できない。

解決法1

原因は、ホームディレクトリのタイプはfile_contextファイルと別管理されていることにある。

ホームディレクトリ関係は、/etc/selinux/targeted/contexts/filesにある
file_contexts.homedirsファイルに記述してrestoreconすればよい。

解決法2

1は推奨方法ではなくて、本当は
homedir_templateというファイルがあるのでそこに記述する。
ユーザのホームディレクトリの下のtest.shにタイプ付与したい時は、
HOME_DIR/test.sh system_u:object_r:file_t:s0
を追加し
#genhomedircon
とすると、
file_contexts.homedirsが自動生成される。

libsemanageのuser_extraファイル

semodule_package -u user_extra
というオプションが増えてた(manにはない…)。
なんだこりゃと思ってみてみた。
user_extraファイルは、ホームディレクトリのタイプ生成に使うらしい。
targetedを使っている限りはいらないようだが。
genhomedirconコマンドとの関係がわからん…