TOP » Apache HTTP Server で Web サーバー構築 » Apache HTTP Server 2.0 » Apache 実行ユーザーの設定

Apache 実行ユーザーの設定

サーバーが不正にアクセスされた場合でも被害を最小限に抑えるためには、サーバーを実行するユーザーに権限を与えないことです。
ここでは権限が少ない Apache 専用ユーザーを作成してそのユーザーがサーバーのリクエストに応答するように設定します。

実行ユーザーの作成

Apache 実行ユーザーである httpd グループとユーザーを作成します。

# groupadd httpd
# useradd -g httpd -d /var/empty/httpd -s /sbin/nologin httpd

Apache の設定

Apache の設定ファイル httpd.conf を編集して Apache の実行ユーザーに関する設定を行います。
Apache の実行ユーザーは User ディレクティブ、Group ディレクティブを使って行います。
デフォルトで設定されている User ディレクティブと Group ディレクティブの設定を以下のように変更します。

# vi /usr/local/httpd/conf/httpd.conf
/usr/local/httpd/conf/httpd.conf
<IfModule !mpm_winnt.c>
<IfModule !mpm_netware.c>
#
# If you wish httpd to run as a different user or group, you must run
# httpd as root initially and it will switch.
#
# User/Group: The name (or #number) of the user/group to run httpd as.
#  . On SCO (ODT 3) use “User nouser” and “Group nogroup”.
#  . On HPUX you may not be able to use shared memory as nobody, and the
#    suggested workaround is to create a user www and use that user.
#  NOTE that some kernels refuse to setgid(Group) or semctl(IPC_SET)
#  when the value of (unsigned)Group is above 60000;
#  don’t use Group #-1 on these systems!
#
#User nobody
#Group #-1
User httpdApache 実行ユーザー
Group httpdApache 実行グループ
</IfModule>
</IfModule>

コンテンツの所有者の変更

Apache を実行するユーザーを変更した場合は、公開するディレクトリやファイルの所有者を Apache を実行するユーザーに変更する必要があります。
公開するコンテンツが格納されているディレクトリが /home/httpd の場合は以下のように実行します。

# chown -R httpd:httpd /virtual/honana.com/public_html

Apache の再起動

Apache の設定ファイルを変更した後は Apache を再起動する必要があります。

# /usr/local/httpd/bin/apachectl graceful
カテゴリー
Fedora のインストール
ネットワーク設定
OpenSSH で SSH サーバー構築
NTP で時刻情報サーバー構築
Apache HTTP Server で Web サーバー構築
MySQL でデーターベースサーバー構築
PostgreSQL でデーターベースサーバー構築
PHP で Web アプリケーションサーバー構築
qmail でメールサーバー構築
Samba でファイルサーバー構築
BIND でネームサーバー構築
Tomcat で Web アプリケーションサーバー構築
ProFTPD で FTP サーバー構築
システム設定
CMS でサイト構築
snort でネットワーク進入探知システム構築
ライブラリのインストール