CentOS7の仮想サーバー構築にチャレンジ その9

CentOS7の仮想サーバー構築にチャレンジ その8 の続きです。PHPがユーザー権限で動くようになったので、それに伴う細々とした設定を行います。

もくじ

  • CentOS7 ISOファイルの入手(その1)
  • VMwareの準備(その1)
  • 仮想マシンの作成(その1)
  • CentOS7のセットアップ(その2)
  • 初回ログイン(その3)
  • ファイアウォール(iptables)(その4)
  • sudoの有効化(その5)
  • リモートからのrootログインの禁止設定(SSH)とセキュリティ強化(その5)
  • Apacheのインストール(その6)
  • WEBサーバーとして運用するための設定(その7)
  • SFTPによるファイルのアップロード(その7)
  • PHPのインストール(その8)
  • ユーザーディレクトリでWEBサイトを公開する(その8)
  • PHPをCGIモードで(ユーザー権限で)動かす(その8)
  • デフォルトパーミッションの変更(その9)
  • php.iniと.user.ini(その9)
  • MySQLの導入(その10)
  • phpMyAdminのインストール(その11)
  • WordPressのインストール(その12)

デフォルトパーミッションの変更

せっかくPHPがユーザー権限で動くようになったからには、セキュリティ的に安全なパーミッションをセットしたいところです。以下のコマンドを打ちます。

CentOSでは、新規作成されるファイルやディレクトリに対して、デフォルトで適用されるパーミッションが設定されています。これを変更するときに、umaskコマンドを使います。パーミッションというのはファイルへのアクセス権限です。念のため。パーミッションの数字は、

  • 0…何もできない
  • 1…ファイルを実行できる(ディレクトリの場合はそのディレクトリへの移動を許可) Xと表記されることも多々ある
  • 2…ファイルの書き込みや変更、ディレクトリ内のファイル作成や削除を許可 Wと表記されることも多々ある
  • 4…ファイルの内容表示、ディレクトリ内のファイルリストの表示を許可 Rと表記されることも多々ある
許可したい行動に合わせて上記の数字を足していきます。ファイルやディレクトリに対して何も許可しない(読み込みも書き込みも実行もできない)ときは「0」になります。読み込み、書き込み、実行を許可(なんでもできる)する場合は「7」です。「ファイルの読み込みと実行を許可」する場合は、読み込み許可の「4」に実行許可の「1」を足しあわせ、4+1=5で、パーミッションの数字は「5」になります。こんな感じでパーミッションの数字を出していくことができます。

また、パーミッションは「ファイル所有者」「ファイル所有グループ」「赤の他人」の3パターン分設定されます。数字3桁の並びも「所有者」「所有グループ」「赤の他人」の順です。例えばパーミッションが「755」のファイルがあったとすると、「ファイル所有者はなんでもできる、ファイル所有グループと赤の他人は読み込みと実行を許可」みたいな感じです。なお、この例は次のように表記されることもあります。「-rwxr-xr-x」

本題のumaskに戻ります。umaskの設定値は、デフォルトのパーミッションをセットするために使われますが、計算式は、(3桁の場合)「777 – (umask設定値) = (デフォルトパーミッション)」です。umaskの値を「022」にセットすると、777-022=755となり、デフォルトパーミッションは「755」になります。こんな感じで値をセットしていきます。

php.iniと.user.ini

今度はPHPの設定です。設定ファイルを編集します。

この辺りまで設定を終えたら保存して下さい。Apacheの再起動をしなくても設定は反映されます。全体のphp.iniで設定すべき項目は(初期段階では)このくらいです。後は必要になり次第ググればどうにかなるでしょう。

しかし、現実には、ユーザーごとに設定したい項目もあると思います。エラーメッセージの出力設定などはその最たるものです。本番環境では出したくないが開発中は出しておきたい…そんな時はユーザーごとに設定ファイルを用意しましょう。デフォルトでは.user.iniという名前(user_ini.filenameを変更した場合はその名前)で作成した設定ファイルをユーザーディレクトリ(の設定を適用したい階層)に設置すれば、設定が反映されます。書式はphp.iniと同じです。例えばエラーメッセージを画面上に出したいときは、

と書けばOKです。セッションファイルの生成場所や、Cookieの寿命などもこちらで設定することが可能なので、必要になったらググってみればいいと思います。

参考サイト

このブログを応援する・寄付する

当ブログでは暗号通貨による寄付を募っております。

Bitcoin:

Monacoin:

Litecoin: