RestoreconはSemanageを使用して生成されたfcontextを設定しません。

RestoreconはSemanageを使用して生成されたfcontextを設定しません。

ファイルのコンテキストを永久に変更する方法の理解に違いがあると思います。読んだ後https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/7/html-single/selinux_users_and_administrators_guide/index#sect-Security-Enhanced_Linux-SELinux_Contexts_Labeling_Files-Percious_Changes_semanage、私はファイルのコンテキストを設定できる必要があると思いました、そしてRestoreconはそのファイルのselinuxポリシーの代わりにそれを使用します。

ただし、このファイル(私のホームディレクトリにあります)を次のようにデフォルトの種類(親ディレクトリから継承)に戻すように設定するRestoreconが表示されます。

 ~> sudo semanage fcontext -C -l
SELinux fcontext                                   type               Context

pretenddir/pretendfile                             all files          system_u:object_r:samba_share_t:s0 
~> sudo restorecon pretenddir/
~> ls -Z pretenddir/
unconfined_u:object_r:user_home_t:s0 pretendfile
~> sudo chcon -v --type=samba_share_t pretenddir/pretendfile 
changing security context of 'pretenddir/pretendfile'
~> ls -Z pretenddir/
unconfined_u:object_r:samba_share_t:s0 pretendfile
~> sudo restorecon pretenddir/pretendfile
~> ls -Z pretenddir/
unconfined_u:object_r:user_home_t:s0 pretendfile

私は何を見逃していますか?

ベストアンサー1

コマンドを実行するときはフルパスを使用しませんsemanage

私はこうする必要があります:
# semanage fcontext -a -t samba_share_t /home/christy/pretenddir/pretendfile

変える:
# semanage fcontext -a -t samba_share_t pretenddir/pretendfile

おすすめ記事