他のシステム ユーザーに Web サイトのファイルへのアクセスを許可せずに、ファイルへの Web アクセスを許可したいと考えています。
私は所有者:グループとして
ボブ:ボブ
それから私はこうしました:
usermod -a -G ボブ httpd
ユーザー グループに http を追加します。
ルート フォルダーのファイル権限は次のとおりです。
drwxr-xr--
しかし、インターネットからサイトにアクセスできなくなりました。Web サーバーは上記の権限でフォルダーにアクセスできるはずです。
o+x 権限を追加すると、すぐに動作します。
エラーログには次のように書かれています:
[Tue May 01 17:25:20 2012] [crit] [client xxx.xx.xxx.xx] (13)Permission denied:
/var/www/bob/.htaccess pcfg_openfile: unable to check htaccess file, ensure it i
s readable
ご協力いただければ幸いです。
答え1
SELinux が有効になっている場合、これらの問題が発生する可能性があります。チェックすると/etc/selinux/config
、有効になっているかどうかがわかります。有効になっている場合は、Apache がアクセスしようとしているファイルに適切なコンテキストを適用する必要があります。
ユーザーの変更はhttpd.conf
最後に行う必要があります。通常は、それ自体httpd
のような番号の小さいサービス ユーザーを実行する必要がありますapache
。
ls -lZ /var/www
コンテキストが表示されます。sestatus
システム上の SELinux の状態がわかります。Apache は間違いなく「ターゲット」アプリケーションです。SELinux ログを確認すると、アクセス違反も表示されます。
ちなみに、SELinuxを無効にするとない進むべき道。