SELinux

SELinux のセキュリティコンテキストを削除/初期化(ls -l のドットを削除)する方法

ls -l のパーミッションの右横につくドットの意味

SELinux を有効にした状態でファイルを作成すると、ls -l で表示したときにパーミッションの横に . (ドット) が付きます。これは、「このファイルの拡張属性には SELinux で使われるコンテキストが存在していますよ」ということを意味しています。

SELinux が嫌いな人の中には、このドットさえ見たくない人もいるようです。

ではどのように削除すればよいのでしょうか?

SELinux のコンテキスト削除手順

まず SELinux を disable します。(Permissive ではダメです。消したいと思っている人は既に無効でしょう)

[root@localhost ~]# vi /etc/selinux/config
~~~
SELINUX=disabled
~~~

再起動後、attr パッケージをインストールします。(disabled より先にインストールしても OK)

[root@localhost ~]# dnf -y install attr

その後以下を実行します。

[root@localhost ~]# find / -exec setfattr -h -x security.selinux {} \;

setfattr は拡張属性を設定するコマンド、 -x は削除、-h はシンボリックリンクをリンク先を追わず、シンボリックリンクに対して操作するためのオプションです。

これにより全てのディレクトリ・ファイルの security.selinux という拡張属性の削除を試みます。エラーはたくさんでますが、すっきりドットが消えるはずです。

コメント

タイトルとURLをコピーしました