Apache /var/www/html パーミッション変更(一般ユーザー)

ソフトウエア

<景品表示法に基づく表記> 本サイトのコンテンツには、商品プロモーションが含まれている場合があります。

Apacheの設定は面倒くさい。デフォルト設定で複数ユーザーがコンテンツを書き換える場合はエラーになる。一般ユーザーがファイルを修正する場合は、パーミッション権限を変更する必要があります。

  • 一般ユーザーだとアクセスエラーがでる
  • ファイルをアップロードできない
  • ファイルを削除できない

rootで作業が完結する場合は気にならないアクセス権の問題です。一般ユーザーでファイル操作するときの設定手順を毎回忘れるので、忘れないようにまとめます。

/var/www/html 所有ユーザーを変更

Apacheを利用してウェブサーバーを構築するとコンテンツの保存場所は「/var/www/html」がデフォルトです。

この「/var/www/html」は環境によってパーミッション権限が微妙な場合があります。所有者が apache ユーザーだったり、root 管理者ユーザーだったりしています。

今回は一般ユーザーでもファイルの書き換えを可能にするために所有者をapacheに変更します。

# chown -R apache:apache /var/www/html/

chownコマンドに-Rオプションを付与して実行します。配下のファイル・ディレクトリも一括で変更します。

/var/www/html パーミッション権限を変更

/var/www/htmlのパーミッションを誰でも書き込み可能な777にすれば解決できますが、誰でも簡単にファイルの読み書きができるのはセキュリティ的によろしくない。ちゃんと設定を行います。

ここは「775」として所有者の「apacheユーザー」と「apacheグループ」に読み書き権を与えます。

# chmod 775 -R /var/www/html/

他のユーザーは書き込み権を与えません。

一般ユーザーに apacheグループ権限を付与

一般ユーザーを書き込み権限のあるapacheグループへ追加します。/etc/group を直接変更してもいいのですが、お作法としてコマンドを利用して権限を変更します。

# usermod -aG apache user-A

グループ追加の設定はシェルを再読み込みさせる必要があります。つまり、ログアウト/ログインしないと反映されません。

一度、セッションを切ってから再アクセスすると書き込み権が付与されています。