disable SELinux
VMwareのApplianceにあったCentOS 5.0。
SELinuxの組み込みがなされていて、デフォルトはOn。
そんなこととはつゆしらず、httpdの設定で大はまり。
apacheを1.3系から2.0に移行し、public_htmlを設定をいくら変えても、うまくいかない。
/var/log/httpd/error_logをみると、こんな感じ。
[Sun Jun 10 03:20:53 2007] [error] [client XX.XX.63.147] (13)Permission denied: access to /~ユーザ名/ denied
なぜだぁ!!!!と思い悩んで、やっとSELinuxの設定に突き当たる。
どうやら、httpでアクセスするためには、TE(Type Enforcement)を設定しなおす必要がある。
TEがなにか知りたければ、「Z」オプション付きで、以下のように「ls」してみるとよい。
% ls -lZ drwxrwxr-x water water user_u:object_r:user_home_t:s0 . drwx------ water water user_u:object_r:user_home_dir_t:s0 .. drwxr-xr-x water water user_u:object_r:user_home_t:s0 admin drwxr-xr-x water water user_u:object_r:user_home_t:s0 checkpassword-0.90
いままでの「rwx」やグループ管理のほかに、ファイル属性が追加されている。
前から、Secure OSって、かっこいいと思ってはいたが、今回は降参。
結局はずした。
# vi /etc/sysconfig/selinux SELINUX=disabled
と、やっと解決かと思いVMwareのGuestOSをrebootしたところ、なぜかboot失敗し、HostOSに入ろうに
もssh port番号とiptablesの設定を間違えて失敗、1時間かけてマシンルームまででかけるハメになっ
た。