研修(実行グループ&アカウント作成)
サーバーは何かしらの形で不正アクセスを受ける場合がある。
これの被害を最小限に抑えるために、
サーバーを実行するユーザーrootに権限を与えないのがベスト。
そのため、権限が少ないapache起動用ユーザーを作成し、
そのユーザーがサーバーのリクエストに答えるようにする。
まずはグループとユーザーの作成。
# groupadd www # useradd -g www -d /var/empty/www -s /sbin/nologin www
groupadd [group name] でグループ作成
useradd [user name] でユーザー作成
・オプション
-d [dir] ユーザーのホームディレクトリ指定。
-g [group] グループ名
-s [shell] ログインシェル指定。デフォルトは/bin/bash
次にhttpd.confをいじって、apache実行ユーザーをwwwに設定。
<IfModule !mpm_netware_module> # # 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. # It is usually good practice to create a dedicated user and group for # running httpd, as with most system services. # #User daemon ←コメントアウト #Group daemon ←コメントアウト User www ←実行ユーザー記入 Group www ←実行グループ記入 </IfModule>
設定完了。
次はapacheの所有者変更。
# chown -R www /usr/local/apache2/ # chgrp -R www /usr/local/apache2/
chown [user name]
cgrp [group name] で所有者変更
・オプション
-R 変更をファイル、ディレクトリ以下の全てに反映
確認。
[sato@sato ~]$ ps -aux |grep "httpd" Warning: bad syntax, perhaps a bogus '-'? See /usr/share/doc/procps-3.2.7/FAQ root 2063 0.0 0.1 3808 1628 ? Ss Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2071 0.0 0.1 3808 1660 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2072 0.0 0.1 3808 1212 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2073 0.0 0.1 3808 1628 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2074 0.0 0.1 3808 1640 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2075 0.0 0.1 3808 1212 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start www 2145 0.0 0.1 3808 1220 ? S Jun01 0:00 /usr/local/apache2/bin/httpd -k start sato 2224 0.0 0.0 4976 772 pts/0 R+ 14:37 0:00 grep httpd
daemon のところが www に変更 → 実行ユーザー変更確認OK