SELinuxタグを削除する方法は?

SELinuxタグを削除する方法は?

SELinuxsvirt_sandbox_file_tタグを追加しました。/home

chcon -Rt svirt_sandbox_file_t /home

ラベルは次のように表示されます。

[user@localhost ~]$ ls -Z
unconfined_u:object_r:svirt_sandbox_file_t:s0 Desktop
unconfined_u:object_r:svirt_sandbox_file_t:s0 Documents
...

タグを再度削除する方法はsvirt_sandbox_file_t

再起動しようとして/home/.autorelabelラベル変更を実行するために1つを追加しましたが、ラベルは消えません。私はFedora 23を使用しています。

答え1

/etc/selinux/config再起動するように設定したと思いますdisabled。次に、に設定してenforcing再起動します。ラベルの再指定に問題がある場合は、ラベルを再指定してください。奇妙なことに、Restoreconは機能しません。

すべてを難しくリセットするには、/homeディレクトリ自体は次のようになります。

system_u:object_r:home_root_t

各ユーザーのホームディレクトリ(およびその中のファイル)は次のようになります。

unconfined_u:object_r:user_home_dir_t:s0

コマンドを使用するか、およびの組み合わせを使用してchcon設定できます。semanagerestorecon

chcon -t home_root_t /home
chcon -Rt user_home_dir_t /home/*

または

 semanage fcontext -a -t home_root_t /home
 semanage fcontext -a -t user_home_dir_t /home/*
 restorecon -R /home

参考にしてください一般的に言えば chconrestoreconデフォルトのコンテキストに復元できるように、デフォルト値を維持しながら即座に変更を強制するために使用されます。あなたの場合、何らかの理由で間違っているようです。

通常はsemanage fcontextローカルコンテキストファイルを作成するためのものです。/etc/selinux/targeted/contexts/files/file_contexts.local

現在のコンテキストと基本コンテキストに関する広範な情報は、以下にあります。

/etc/selinux/targeted/contexts/default_contexts
/etc/selinux/targeted/contexts/files/file_contexts
/etc/selinux/targeted/contexts/files/file_contexts.homedirs

これらのファイルは何らかの方法で破損している可能性があり、これらのファイルがどのように変更されたかに応じて、全体的に上記の操作で完全に回復できない多くのサブコンテキストがあります。これらのファイルを確認し、追加されたコンテキストマッピングを見つけて削除できることを確認することをお勧めします。

理論的には、仮想マシンまたは他のマシンを使用することができます(またはオンラインで見つけることができます)、既知の良好なデフォルト値を適切なディレクトリにコピーし、システムラベルを再割り当てして正しいデフォルト値を取得することもできます。しかし、ここにもいくつかの欠点があります。

これは試行錯誤を経て上記のchcon / semanageコマンドを使用して一般的なアイデアを得ることができますが、一部のサブディレクトリには独自のコンテキストがあります。

役に立つ可能性のある追加のコンテキスト(これらは/home/usernameにあります):

ls -laZ /home/username

##context###########################  Directory##
unconfined_u:object_r:cache_home_t:s0 .cache
unconfined_u:object_r:config_home_t:s0 .config
unconfined_u:object_r:dbus_home_t:s0 .dbus
unconfined_u:object_r:gconf_home_t:s0 .gconf
unconfined_u:object_r:gconf_home_t:s0 .gconfd
unconfined_u:object_r:gpg_secret_t:s0 .gnupg
unconfined_u:object_r:gconf_home_t:s0 .local
unconfined_u:object_r:ssh_home_t:s0 .ssh

これは私のホームディレクトリに基づいており、より多くのものを見つける必要があるかもしれませんが、正しい項目をほとんど手に入れると、ある程度正常に戻ります。

関連情報