この人頭いいなと思ったエピソード

■環境
・Cent OS

■状況
・指定ディレクトリのパーミッションを、757にしないと期待した動作になりません
※「ファイルアップロード」処理のファイルを配置しています

■現状
・sudo chmod -R 757でディレクトリを個別指定しています

■質問
・ディレクトリ単位で指定するのが面倒なので、「var/www/html」全体に「chmod -R 757」を適用しても良いでしょうか?
・セキュリティ的に問題ない?

・umaskで指定した方が良いでしょうか?
・その場合、757にするにはどう書けば良いでしょうか?

・757でしか動作しないそもそもの状況を改善することは可能?(例えば666とかに)
・757でしか動作しないものは、所有者とか所有グループを変更しても、757でしか動作しないものなのでしょうか?

A 回答 (3件)

追記です。



umaskは「ファイル作成時に特定の権限を『与えないようにする』」ものです。
umask 000 で権限 777で作成しようとしたものを、 umask 044 で 755 にすることはできますが
umask 000 で権限 755で作成しようとしたものを、 777 にすることはできません。

現在044で755→757にしたい、ということなら、umask 040です。

この回答への補足

回答ありがとうございました。

>umaskは「ファイル作成時に特定の権限を『与えないようにする』」ものです
・初めて知りました

・ちなみに、umaskは「指定ディレクトリ以下」だけを対象にするようなことは出来ない、という理解で合っているでしょうか?

補足日時:2014/04/22 15:24
    • good
    • 0

それ、755の間違いではないかと、思うのですが。


OTHERに、RWXを同時に与えるのは、大抵はファイル入出力だけですよ。

で回答ですが、
INDEXでフォームが表示されたとして
POST.PHPが受け取り処理をして、data.datを書く場合は、
こんな感じのパーミッションですね。
var/www/html/index.html 644 他人閲覧権限のみ
var/www/html/post.php 755 他人実行権限のみ
var/www/html/data_dir       711 他人フォルダ進入権利のみ(リストは取得できないRがないため)
var/www/html/data_dir/data.dat 666 他人書き込み権限あり


これを、chmod 755 -R
したら、全部が755(つまり実行は出来るが書き込みは出来ない)
として、成り立たなくなります。

ってことです。

なにか、パーミッションのイメージがわけばと思い、
サンプルを作成してみましたが。

この回答への補足

回答&サンプル作成ありがとうございました。

>755の間違いではないかと、思うのですが
・ディレクトリ755では動作せず、757にしたら動作したので、てっきり757だと思ったのですが…
・パーミッションは、ディレクトリではなくファイルへ対して行うものなのでしょうか? ケースバイケース?

補足日時:2014/04/22 15:22
    • good
    • 0

少なくとも「実行権の無いディレクトリ」の中を読むことはできません。

この回答への補足

回答ありがとうございました。

>少なくとも「実行権の無いディレクトリ」の中を読むことはできません
・どういう意味でしょうか?

補足日時:2014/04/22 15:18
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


おすすめ情報