私はこの規則に気づきました。
/usr/sbin/shutdown -- gen_context(system_u:object_r:shutdown_exec_t,s0)
ラベルは/usr/sbin/shutdown
shutdown_exec_t
いつ/usr/sbin
ディレクトリですか?ただし、/usr/sbin
シンボリックリンクがbin
あるshutdown
場合は、同じラベルを復元しません/usr/bin
。なぜ?/usr/sbin
シンボリックリンクの場合、正しいコンテキストにある必要があるファイルをbin
提供する簡単な方法はありますか?/usr/sbin
inodeに2つのハードリンクがあり、パスのデフォルトのファイルコンテキストが異なる場合、結果のファイルコンテキストは与えられたパスによって異なりますrestorecon
。ファイルシステム全体のラベルを再指定すると、どのようなコンテキストが得られますか?決定論的ですか?この方法で処理できますか?これはいいですか?
答え1
restorecon
いいえ扱うシンボリックリンクはファイルと同様に機能します。 ~によるとマニュアルページ(少し古いですが、出発点として非常に便利です):
ノート
Restoreconはシンボリックリンクをたどりません。
これはバグレポートで観察されました。バグ825221:Restoreconはシンボリックリンクのカスタムルールを無視します。、以下の関連説明が含まれています。
- ダニエル・ウォルシュ2012-05-29 13:54:13 EDT
F17でこの問題を解決しました。
- ダニエル・ウォルシュ2012-08-15 14:01:52 EDT
Restoreconはファイルの物理パスを実行するため、ファイルを物理パスに変換します。これは、ファイルのラベルが誤って指定されたシンボリックリンク攻撃を防ぐために行われます。
- カレルスロート 2012-08-23 06:14:05 EDT
RHEL6.3とFedora 17でテストしたばかりです。
RHEL6では、Restoreconはシンボリックリンクのコンテキストを復元しません(シンボルリンクが実際のプロジェクトの場合)。 Fedora 17では、コンテキストが復元されました。私はこれが#c6で言及されている問題だと思います。
ダン、この問題が解決されているか確認していただけますか?ありがとうございます。
- ミロスラフ・グレーフェル2012-08-23 09:59:41 EDT
わかりました。ポリシーでエラーが検出されました。 RHEL6 には次の規則はありません。
allow setfiles_t file_type : lnk_file { read getattr relabelfrom relabelto } ;
私たちはただ
allow setfiles_t file_type : lnk_file { getattr relabelfrom relabelto } ;
selinux-policy
だから私はこのエラーをコンポーネントに切り替えました。
後で (2015)シンボリックリンクでRestoreconを使用することに関するいくつかの質問、Stephen Smalleyは次のように述べています。
はい、異なるinodeとして解釈されます(Symlinkはターゲットに関係なくLinux上の独自のファイル/inodeです)。シンボリックリンクSELinuxラベルは、ターゲット(ターゲットラベルに基づいて制御される)ではなくシンボリックリンクへのアクセス(つまり、リンク解除、名前変更、または読み取り機能)のみを制御します。
したがって...追加の規則がない限り、シンボリックリンク(ほとんど)権限に拘束されないターゲットあなたが興味を持っているもの。