disable SELinux

  • 投稿日:
  • by

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時間かけてマシンルームまででかけるハメになっ
た。