ls -Z してみたら違ってた!

あぁ、そう言えば…。というコマンド ls -Z で2つのフォルダの違いが判明。

[paraches@centos media]$ ls -Z
drwxr-xr-x  apache apache user_u:object_r:httpd_sys_content_t styles
drwxr-sr-x  apache apache system_u:object_r:user_home_dir_t styles-new
[paraches@centos media]$

あ〜違ってる! 名前に new 付いてる方がアクセスできないフォルダ。なんでこんな事になったんだろう? 普通に mkdir するとアクセスできるタイプのフォルダができるのだけど。

というわけで、この辺を変更するのが chcon というコマンド。chown や chmod なんかと同じ様に使える。でも、今回は mkdir するとアクセスできるフォルダができるので、必要なフォルダを mkdir して作って問題解決としてしまった。

ところで、一体なんでダメなフォルダやファイルができたんだろう?
考えられるのは、ダメなフォルダは Mac から afp でコピーしたフォルダだってこと。Mac から自分のホームディレクトリにコピーしてそれを /var/www/html/media/ に移動した。
他のファイルでも試してみたけど、やっぱり Mac から afp でマウントしたボリュームにコピーしたファイルやフォルダが system_u:object_r:user_home_dir_t になるみたい。この辺の設定はどこでするんだろう?