umask757をvar/www/htmlへ適用?

このQ&Aのポイント
  • ディレクトリのパーミッションを757にすることで期待した動作になるが、適用方法が面倒
  • umaskで指定することも可能だが、757にする方法はどう書くべきか悩む
  • 757でしか動作しない状況を改善する方法はあるのか
回答を見る
  • ベストアンサー

umask757をvar/www/htmlへ適用?

■環境 ・Cent OS ■状況 ・指定ディレクトリのパーミッションを、757にしないと期待した動作になりません ※「ファイルアップロード」処理のファイルを配置しています ■現状 ・sudo chmod -R 757でディレクトリを個別指定しています ■質問 ・ディレクトリ単位で指定するのが面倒なので、「var/www/html」全体に「chmod -R 757」を適用しても良いでしょうか? ・セキュリティ的に問題ない? ・umaskで指定した方が良いでしょうか? ・その場合、757にするにはどう書けば良いでしょうか? ・757でしか動作しないそもそもの状況を改善することは可能?(例えば666とかに) ・757でしか動作しないものは、所有者とか所有グループを変更しても、757でしか動作しないものなのでしょうか?

  • re97
  • お礼率80% (601/744)

質問者が選んだベストアンサー

  • ベストアンサー
  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.3

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

re97
質問者

補足

回答ありがとうございました。 >umaskは「ファイル作成時に特定の権限を『与えないようにする』」ものです ・初めて知りました ・ちなみに、umaskは「指定ディレクトリ以下」だけを対象にするようなことは出来ない、という理解で合っているでしょうか?

その他の回答 (2)

回答No.2

それ、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(つまり実行は出来るが書き込みは出来ない) として、成り立たなくなります。 ってことです。 なにか、パーミッションのイメージがわけばと思い、 サンプルを作成してみましたが。

re97
質問者

補足

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

  • kmee
  • ベストアンサー率55% (1857/3366)
回答No.1

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

re97
質問者

補足

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

関連するQ&A

  • local_umaskの設定

    FTPで新規にアップロードしたファイルのパーミッションが 777に設定されるようにしたいと思っています。 そこで、/etc/vsftpd/vsftpd.conf で local_umask=000 と設定し、 vsftpdを再起動してFTPアップロードしてみたところ、 パーミッションは 666 になってしまいました。 また他の値でも試してみたところ、 以下のような結果になりました。 local_umask=002 → 664 local_umask=022 → 644 local_umask=222 → 440 これは他に何か設定が必要ということなのでしょうか。 どなたかご教示ください。 よろしくお願いします。

  • useradd 時の umask について

    現在、useradd で作成したアカウントのホームディレクトリのパーミッションが 700 になります。 これを違う値( 755 等 )に変更したいのですが、どこの設定を変更したらよいでしょうか? /etc/profile に umask 022 を追加し、useradd してみましたが、結果は同じでした。 useradd 後に chmod すれば良いのですが、できれば1回のコマンドで設定できるようにしたいと思っています。 OS:RedHat 7.3 kernel:2.4.18-3

  • FTPでapacheドキュメントルートへ転送できない?

    RHL7.0で、apacheをインストールしました。 そのドキュメントルート(デフォルトの/var/www/html配下)にwindowsPCからFTPであるユーザでログインし、アップロードを試みたのですが、できません。 下記の事もしてみました。 (1)apacheドキュメントルートのファイル所有者をあるグループに全て変更  chgrp -R グループ名 /var/www (2)ドキュメントルートのディレクトリ/var/wwwのパーミッション変更  chmod 2775 /var/www(これでwwwはdwxdwsr-xとなった) (3)ドキュメントルートへFTPログインでアップロードするユーザを、(1)のグループへ加える。 このユーザ名でFTPログインできますが、/var/www/html/index.htmlを変更しようとすると fxfer、アクセス件がありません、と出ます。 (2)の事は本に書いてあった事をそのまま実行したのですが、-Rオプションも付けるべきなのでしょうか? chmod 2775 /var/www/htmlとすべきなのでしょうか? 細かく考えすぎなのでしょうか? すみませんが宜しくお願いします。

  • /var/run/sudo/root/unknown

    /var/run/sudo/rootディレクトリ直下にunknownという名前のファイルがあるのですが、ダブルクリックをしても、 「"/var/run/sudo/root/unknown"を表示できませんでした」 とポップアップ画面が現われるだけで中身を確認することができません。 削除しても問題ないでしょうか? また、一般的に、/var/run/sudo/rootディレクトリの下には、どのような役割のファイルが配置されるものなのでしょうか? ※このunknownファイルのプロパティを確認したところ、サイズは51バイトで、MIME型は、application/octet-streamと表示されていました。 ※OSは、Fedora7を使用しています。

  • 「umask 111 」でファイルを作成するとなぜ666になるのですか?

    umaskに関する質問です。 umask 222 でデフォルトパーミッションを設定すると、 ファイルは 666-222 →444(-r--r--r--) ディレクトリは 777-222 →555(dr-xr-xr-x) になるのは理解できるのですが、 umask 111 の場合に、 ファイルは 666-111 →666(-rw-rw-rw-) ディレクトリは 777-111 →666(drw-rw-rw-) はどうしてなのでしょうか? 「666」から「111」を引いて「555」になりそうに思うのですが・・・。 大変初歩的な質問で申し訳ありませんが、ぜひご教示いただきますよう、お願い致します。

  • linux(fedora)root権限の設定

    お世話になります。 fedoraを使用している際、 rootで読み取れないフォルダができているのに気付きました。 システムファイル等ではなく、一般のファイルです。 どこでできたかわかりませんが、ソフトが自動生成したもののようです。 パーミッションは -wxr----tで、 rootで、コンソールから chmod -t <ディレクトリ名>や chmod -R 755 <ディレクトリ名> しても、許可されていない操作です。 権限がありません、等でどうにもなりません。 -wxですと、読み取り不可かと思いますが、 rootでも、強制的にディレクトリのパーミッションを 変更することはできないのでしょうか。 windowsでは所有権をリセットして・・・という手がありますが linuxではそのようなものはないでしょうか。 よろしくお願いします。

  • /var/www/html/の一部がForbidden

    /var/www/html/の中には/smm/と/phpMyAdmin/というディレクトリが存在します。 /phpMyAdmin/index.php(-705)は正常に表示されるのですが、 /smm/index.html(-705)はForbiddenで表示されません。(403Error) ちなみにエラーログでは Permission denied と表示されています。 おそらくパーミッションの問題なんですけど、同じパーミッションで 一部のファイルがアクセスできないというようなことがあるのでしょうか? どなたか御回答していただければ嬉しいです。

  • ファイル属性をデフォルト(初期状態)に戻すことはできますか?(solaris9)

    solaris9のサーバの環境構築をしているのですが、 操作ミスをしてしまい、/var 以下にあるファイル及びディレクトリの属性をすべて777にしてしまいました。 打ってしまったコマンド  chmod -R 777 /var/ もちろんファイル一つずつ再度指定すればなおすことはできますが、かなりの量があるのでかなり厳しいです。 元の通りにもどすよい方法はありますでしょうか。 よろしくお願いいたします。

  • Linuxにおけるパーミッションに関して

    Linux(Redhat)に関して質問します。 /etc/passwdファイルの第7フィールド(ログインシェル指定の箇所)にて /sbin/nologin指定をしているアカウントに関して、このアカウントで作成 されるディレクトリもしくはファイルのデフォルトでのパーミッションは、 どのようになりますでしょうか? 例えば、第7フィールドに/bin/bashの指定があり、/etc/bashrcにumask の値を設定していれば、ログイン時に/etc/bashrcが読み込まれumask の値によってパーミッションが決定されると思いますが、/sbin/nologin 指定をしているアカウントに関しては、umaskの値が有効になるのか どうか質問している次第です。

  • PHPでの自動作成されるファイルが

    ファイルの読み込み自体や、 既存ファイルへの書き込み等は問題がないようですが、 「新規」でファイルの追加が出来ない状況です。 つまりPHPで自動生成されるスクリプトが動作しません。 サーバー移転で、新しいサーバーのみ動かない状況です。 前回以下の回答がありましたが ----------------------------------------------------- PHPを実行しているスクリプトがファイルを作成する場合 ファイルの所有者はsystem(Apache)になると思われます。 要するに作成しようとするファイルの親ディレクトリの 所有者がsystem(Apache)であり、所有者書き込みが可能 のパーミッション(700)になっている場合か、親ディレクトリの 所有者がsystem(Apache)以外であるなら、所有者以外の 書き込みが許可(707もしくは777)になってなければ 新規ファイルの作成は失敗します。 ----------------------------------------------------- ユーザー用ディレクトリ(仮にuserとします) 所有者はアカウント、パーミッションは777です 登録があれば、userディレクトリにIDの名前で新しくディレクトリが作成され そのID名のディレクトリの中に必要なファイルも自動的に作成されます この登録が動作しません・・・ ファイルが新しく作成されない状態です。 試しに手動でUPすると、動作は正常でした。 ファイルの自動作成のみが動作しません。 パーミッションもこれで合っているように思えるのですが・・・ 原因が分かりません・・

    • ベストアンサー
    • PHP