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 ~] yum -y install attr

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

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

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

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

シェアする

  • このエントリーをはてなブックマークに追加

フォローする