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
設定できます。semanage
restorecon
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
参考にしてください一般的に言えば chcon
restorecon
デフォルトのコンテキストに復元できるように、デフォルト値を維持しながら即座に変更を強制するために使用されます。あなたの場合、何らかの理由で間違っているようです。
通常は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
これは私のホームディレクトリに基づいており、より多くのものを見つける必要があるかもしれませんが、正しい項目をほとんど手に入れると、ある程度正常に戻ります。