• 締切済み

フォルダとファイルの関係

Windows, Mac, Unixいずれもフォルダがあってその中にファイルがあるという状況は同じではないかと思います。ずっと前からよく理解できないなと思っていたことがあるのでお尋ねします。 1.フォルダのタイムスタンプは作成されたときの状態がずっと継続するのでしょうか。私は、フォルダ内のファイルが更新されてファイルのタイムスタンプが新しくなると、フォルダも更新されたと見なされないのだろうか?という疑問を持っているのですが。もし更新されないのならフォルダのタイムスタンプの更新はない、ということになるように思うのですが。 2.フォルダのアクセス制限とその中のファイルのアクセス制限が違う場合、何となく常識的にはフォルダのアクセス制限が優先されそうな気がしますが、どのような考え方になるでしょうか。もしそうなら、深いフォルダではフォルダすべてのアクセス制限を変えていく必要があります。もしファイルの方のアクセス制限を優先した場合、フォルダ閲覧不可でその中のファイルに閲覧可としてもフォルダの中身がわからないのだから(閲覧不可)なので、閲覧可なのにファイルが見えないと思います。 これらは、からくりが分かれば理解が早いと思いますが、どのように考えればいいでしょうか。 よろしくお願いします。

みんなの回答

回答No.8

横槍いれるようで、申し訳ないです。 > unix,linuxでフォルダ、ファイルに「r+w+x」と言う属性がついています。 >... >ファイルで「rwx r__ r__」の属性は、管理者アクセス可能、ホームユーザは読み込みのみ可能、一般ユーザも読み込みのみ可能ファイルになります。 多分、書き間違いだと思いますが、 UNIX,Linuxのパーミッションの rwx rwx rwx のブロックの順番は管理者/オーナー/一般ユーザではなくて、 オーナー/グループ/それ以外のユーザ となります。

回答No.7

unix,linuxでフォルダ、ファイルに「r+w+x」と言う属性がついています。 Aフォルダの属性が「drwx ___ ___」となっている場合、管理者のみフォルダにアクセスが可能になります。ファイルも上記属性では管理者のみになります。「rは読み込み、wは書き込み、xは実行」。 ファイルで「rwx r__ r__」の属性は、管理者アクセス可能、ホームユーザは読み込みのみ可能、一般ユーザも読み込みのみ可能ファイルになります。 Windowsもこれにならっています。今のMACはBSD仕様なので当然この規則にしたがっています。 Windowsで属性を___ ___ ___になっていると普通見えないファイルになっていると思います。試してないのであくまでも仮定です。

  • notnot
  • ベストアンサー率47% (4900/10358)
回答No.6

フォルダ(ディレクトリ)もファイルの一種です。 Unix/Linuxの場合は、ディレクトリ(ファイル目次)には、その中のファイル名(とそのファイル実体を示す番号)が書かれていますので、その書かれている内容が変更されたときにタイムスタンプが更新されます。 つまり、ファイルの作成、削除、リネーム、別ディレクトリからの(への)ファイルの移動、の時です。 Windowsでも同様のようです。 閲覧権限に関しても、ディレクトリ自体の読みとり権限と考えてください。 Unix/Linuxの場合はディレクトリの実行権限という概念もあるので、ちょっと直感的にわかりにくいかもしれません。

  • akauntook
  • ベストアンサー率19% (295/1481)
回答No.5

>実験条件が明確でないと理解が進みませんね。 そうですね。 ですから、補足にあげた条件のすべての組み合わせでまずはテストしましょう。 カテゴリーは技術者向なんで、手取り足取り教えてもらえるとは考えない方が良いですよ。

回答No.4

1. ファイルシステム(フォーマット)によって異なるようです。 WindowsのNTFSや Linuxのext*などは、フォルダ(ディレクトリ)内のファイルの新規、更新、リネーム、削除で、 そのフォルダ自身の更新日時は更新されるが FAT/FAT32の場合は、フィルダーの更新日時は更新されない  という仕様のようです。 フォルダ自身が、そのフォルダー内に所属しているファイルの情報(オーナー・パーミッション・ファイル名・作成日時・更新日時 等々)を記載してある一種のDB系のバイナリファイルだと考えれば その情報が更新されたのだから、フォルダ自身に更新があったと見るべきなのでしょうけど FAT/FAT32で、そうなっていないのは FAT(ファイル・アロケーション・テーブル)というぐらいだから フォルダ自身ではなく 1つの大きなテーブルでファイル情報を管理してあるからなんじゃないでしょうか。(推測です)

  • akauntook
  • ベストアンサー率19% (295/1481)
回答No.3

実際に試してその結果が仕様です。 仕様と言えるほど結果から判断できないのなら、試すことが不十分ってことですね。

skmsk1941093
質問者

お礼

ありがとうございます。 つまり、”実験結果がすべて” というご指摘と思います。しかし、その場合、実験条件が明確でないと理解が進みませんね。(理解しなくてもいい、とにかくそうなっているのだから、という立場もありますが) 実験条件とは、ユーザー権限、ファイルシステム、OSのバージョン、フォルダ設定等々、そして自分が知らない何かの条件もあるかも知れません。これが十分わからない状態で実験することが”試すことが不十分”ということだと思います。

  • kteds
  • ベストアンサー率42% (1882/4440)
回答No.2

1.タイムスタンプ(作成日時、更新日時、アクセス日時)の「作成日時」の質問ですね。 「作成日時」の更新はありません。 2.フォルダのアクセス制限が優先です。 フォルダがアクセス拒否であれば、その中のサブフォルダ、ファイルを含めてアクセスできません。 --- >これらは、からくりが分かれば理解が早いと思いますが、どのように考えればいいでしょうか。 簡単に試すことができますので、自分の環境で実際に試してみるのがいいでしょう。

  • catpow
  • ベストアンサー率24% (620/2527)
回答No.1

1.とりあえず自分の使っているOSで試してみれば分かることですよ。 2.あなたの想像するとおり、フォルダへのアクセス制限があると、その中のファイルが閲覧許可になっていても、見ることができません。 ただ、OSによって、ファイルシステムの制限機能には差があります。 Unix(Linux)のほうが、WIndowsよりいろいろと機能が豊富になっています。 ただ、セキュリティが強力なほど、一般的には使いにくくなりますよね? よくある話ですが、あるアプリの利用権限を、従業員一人一人に設定するのは面倒だから、共通IDを作って皆で使い回すと、ID作成する管理者は楽です。 でも、セキュリティレベルは下がります。 Windowsは、使いやすいOSですが、それ故にセキュリティはUnix系OSに比べて低くなっています。 ちなみに、現在のMacはUnix系OSになっているので、Unixと同レベルだと思うのですが、Mac使っていないので詳細は分かりません。

skmsk1941093
質問者

お礼

回答ありがとうございます。 実際に深いフォルダにあるファイルを更新してどのフォルダか忘れた場合、フォルダのタイムスタンプが更新されるとありがたいと思ったのですが、そうなっていません。ではあのフォルダのタイムスタンプは一体何なんだろうということが質問の動機です。中身を変えてもタイムスタンプが更新されないのだから、作ったとき、あるいは別のところからコピーされた場合なのでしょうか。実験という面もありますが、理屈から理解できないかなと思うのですが。 フォルダアクセス設定についてはunixはchmodとかコマンドによって処理する解説されています。それでもどちらを優先するとかの疑問はあります。結局OSの仕様次第ということになるのか、矛盾が生じるとか理屈上こうなる、という説明ができないかなと思いますが。OSはCで書かれているとしたらCの言語仕様が根源的な理由になっているのではなかろうかと思いますが。

関連するQ&A