最近 -ing をたくさんしましたがchcon
、私が正しく理解したなら、次回のタグ再指定時に削除します。現在、コンテキスト(好ましくは一部のディレクトリ)を永久に作成する方法はありますか?を使用してこれを行う方法があることはわかっていますが、semanage
これは戻って各ファイルのコンテキストを確認して呼び出してsemanage
ルールを設定することを意味します。それでは、これを行う自動化された方法はありますか?
答え1
まず、semanage fcontext -a -t <type> <filepattern>
ファイルの変更をポリシーに追加して永続的な問題を修正しました。restorecon -R -v <filepattern>
その変更を再表示または適用する必要があります。chcon
ポリシーは変更されず、ディスクコンテキストのみが変更されます。
次のコマンドを使用して、表示ポリシーとの違いのリストを生成できます。matchpathcon
、具体的に:
matchpathcon -V /path/to/file
残念ながら、ツリーを巡回するのに費用がかかるため、再帰オプションはありませんが、次のように実行できます。
find / -exec matchpathcon -V {} \;
しかし、注意してください。私は、findが問題を引き起こす可能性がある拡張属性(xattrs)を持たないマウントを含むすべてのファイルシステムマウントを参照すると信じています。もちろん、すべてのファイルシステムが拡張属性を持っていれば問題はありません。
このリストがあれば、目的の項目を選択するスクリプトを作成できますsemanage
。しかし、私はこのタスクを一度に実行する自動化された方法を知りません。
答え2
matchpathcon
withを使用するとfind
非常に遅いです。なぜそれを使用しないのですかrestorecon
?
restorecon -rnv /path/to/dir
これらのフラグは再帰的で不変で詳細です。