メシのタネ

めしのたねになるIT情報配信サイト


uploadディレクトリのパーミッションを777にしなくても良い方法があるんだぜ。

, ,

  1. Webサーバー
  2. uploadディレクトリのパーミッションを777にしなくても良い方法があるんだぜ。

PPW_memori
あるに決まってんだろって話ですけど、今までサーバー違う人がやってたので、何とかしてもらってたんですが、今回自分でやる機会があったのでちょっとだけ詳しく勉強しました。今日はそのご報告です。

パーミッションって何

権限のことです。ファイルやフォルダに対して、読み込み(R or 4)、書き込み(W or 2)、実行(X or 1)といった権限を割り振る事ができます。

アップロードディレクトリ

大体CMSとかのアップロードフォルダって777は危険だから755にしときなさいよとか良く書いてあるんですけど、755にするとパーミッションエラーではじかれますよね。趣味だったら別に良いかとかいって作業進めるんですけど、お客さんの場合だとちょっとなんとかしようってなります。

uploadディレクトリが755でパーミッションエラーになる理由

ディレクトリのパーミッションが755というのは「ディレクトリ所有者」が読み、書き、実行可能という状態です。でも、プログラムを「実行」するのは「所有者」ではなく、httpd.confで設定してあるユーザなのです。僕の場合apacheになっていたのですが、ここをディレクトリ所有者とグループに変更したところ、アップロードが可能になりました。centosなら/etc/httpd/conf/httpd.confの242行目付近に記述があると思うので、そこをapacheからディレクトリ所有者に変えてみてください。

注意点

デフォルトで設定してあるセッションのディレクトリの所有者がapacheなので、これをやると$_SESSIONが使えなくなるので、セッションのディレクトリの所有者とグループも変更しておきましょう。

ちなみに、所有者変更のコマンドは

chown group:user dir/file

で権限変更は

chmod 755 dir

です。


コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

若い頃、「仕事中にハマったこと」や「誰かに共有したい技術的な気づき」をアウトプットしたくてブログを始めましたが、勢い任せでよく分からない記事を大量生産し、あえなく飽きて終了。

改めて今、キャリア15年分の経験や知識が、これからITエンジニアを目指す方や、同じような課題で悩んでいる現役エンジニアの「メシのタネ」になるような記事を残したいと思っています。
※過去の記事は見ると精神が崩壊するため、そっとしておいてください。

🛠 経歴という名の珍道中:
文系Fラン → 広告営業 → Web営業 → 通信営業 → Web進行 → 出版 → Web媒体運用 → ソフトウェアハウス → SES → フリーランス

専門教育も受けず、転職歴も多数。履歴書はまるで時系列の事故記録のようですが、試行錯誤を重ね、なんとかエンジニアとして食べています。

このブログでは、そんな「履歴書クラッシャー型エンジニア」が送る、
名古屋一敷居の低い、実務に役立つ技術ブログを目指します。

PHP
魔王と行く! / Interface / Polymorphism / Ontology 深淵ガイドNew!!
Laravel
Laravel 12、「コード 1 行も書き換えず未来へ」──静かな革命の手順書New!!
Laravel
LaravelのMiddlewareって意味あるの?仕組み・使いどころ・やらかしまで整理してみたNew!!
Laravel
ServiceProviderって何してるの?DIの背後で動いてるやつの正体New!!
Laravel
LaravelのサービスコンテナとDI、「書いてるだけで動く」コードの正体
Laravel
Laravelのアーキテクチャ、実は誰もわかってない説