ファイル属性

ウィキペディアから、無料の百科事典
ナビゲーションにジャンプ 検索にジャンプ

ファイル属性は、の一種であるメタデータ記述とどのように修正することができ、ファイルおよび/またはディレクトリのファイルシステムの振る舞いを。一般的なファイル属性は、たとえば、ファイルが表示、変更可能、圧縮、または暗号化されているかどうかを示したり指定したりできます。ほとんどのファイル属性が利用できるかどうかは、属性データを他の制御構造とともに保存する必要がある基盤となるファイルシステム(FATNTFSext4などによるサポートに依存します。各属性は、設定とクリアの2つの状態のいずれかを持つことができます。属性は、日付と時刻、ファイル名拡張子、またはファイルシステムのアクセス許可ファイルに加えて、フォルダボリューム、およびその他のファイルシステムオブジェクトに属性がある場合があります。

DOSとWindows

従来、DOSおよびMicrosoft Windowsではファイルフォルダは次の4つの属性を受け入れていました。[1] [2] [3]

  • アーカイブ(A):設定されている場合、最後のバックアップ操作以降にホスティングファイルが変更されたことを示しますWindowsのファイルシステムは、変更されたすべてのファイルにこの属性を設定します。バックアップソフトウェアは、完全バックアップまたは増分バックアップ(差分バックアップではない)が成功したときにそれをクリアする義務があります。
  • 非表示(H):設定されている場合、ホスティングファイルが非表示であることを示します。のようなMS-DOSコマンドdirファイルエクスプローラーのようなWindowsアプリは、要求されない限り、デフォルトで隠しファイルを表示しません。[4]
  • システム(S):設定されている場合、ホスティングファイルがコンピューターが正しく動作するために必要な重要なシステムファイルであることを示します。MS-DOSとMicrosoftWindowsは、これを使用して重要なシステムファイルをマークします。のようなMS-DOSコマンドdirやファイルエクスプローラーのようなWindowsアプリは、隠しファイルが表示されている場合でも、要求されない限り、デフォルトではシステムファイルを表示しません。
  • 読み取り専用(R):設定されている場合、ファイルを変更してはならないことを示します。ファイルを開くと、ファイルシステムAPIは通常、アプリケーションが明示的に要求しない限り、要求しているアプリケーションに書き込み権限を付与しません。フォルダの読み取り専用属性は通常無視され、別の目的で使用されます。[5] [6]

Windowsの新しいバージョンがリリースされると、MicrosoftはNTFSファイルシステムで使用可能な属性のインベントリに追加しました [7]。これには以下が含まれますが、これらに限定されません。[8]

  • 圧縮(C):設定すると、Windowsは保存時にホスティングファイルを圧縮します。詳細については、NTFS§ファイル圧縮を参照してください
  • 暗号化(E):設定すると、Windowsはストレージ時にホスティングファイルを暗号化して、不正アクセスを防止します。詳細については、NTFS§暗号化を参照してください
  • コンテンツインデックスなし(I):設定されている場合、インデックスサービスまたはWindows Searchは、インデックス操作にホスティングファイルを含めません。

Windows Explorer [7]の[属性]列に表示されるその他の属性は次のとおりです。

  • ディレクトリ(D):エントリはサブディレクトリであり、独自のファイルおよびディレクトリエントリが含まれています。
  • 再解析ポイント(L):ファイルまたはディレクトリに再解析ポイントが関連付けられているか、シンボリックリンクです。
  • オフライン(O):ファイルデータは物理的にオフラインストレージ(リモートストレージ)に移動されます。
  • スパース(P):ファイルはスパースファイルです。つまり、その内容は部分的に空であり、連続していません。
  • 一時(T):ファイルは一時ストレージに使用されます。

DOS、OS / 2、およびWindowsでは、cmd.exeおよびcommand.comのattribコマンドを使用して、4つの従来のファイル属性を変更および表示できます。[3] [9] Windowsのファイルエクスプローラーは、上記の7つの属性を表示できますが、システム属性を設定またはクリアすることはできません。[5]のWindows PowerShellの構成要素となっている、Windows 7の:以降、2つの読むことができるコマンドと書き込み属性を備えて[10] Windows NTファイルの属性を変更するには、ユーザーは属性の書き込みと呼ばれる適切なファイルシステムのアクセス許可を持っている必要があります Get-ItemPropertySet-ItemPropertyおよび拡張属性の書き込み[11]

UnixとPOSIX

UNIXおよびUNIXライク含むシステム、POSIX -conformingシステムは、各ファイルは、9ビットフラグの読み取り、書き込みを制御し、ファイルの所有者、グループおよび他のすべてのユーザーごとに権限を実行を含む「モード」があります(ファイル・システムの許可を§詳細については、従来のUnixパーミッション)に加えて、setuidおよびsetgidビットフラグと「スティッキー」ビットフラグこのモードでは、ファイルの種類(通常のファイル、ディレクトリ、またはその他の特別な種類)も指定されます

4.4BSDとその派生物

では4.4BSD4.4BSD-Liteは、ファイルやディレクトリ(フォルダ)は、ファイルの所有者またはで設定することができます4つの属性受け入れスーパーユーザのみスーパーユーザによって設定することができた(「ユーザー」属性)と2つの属性( 「システム」属性):[12]

  • (ユーザー)ダンプなし:設定されている場合、バックアップ操作中にファイルまたはディレクトリを保存しないことを示します
  • (ユーザーとシステム)不変:設定されている場合、ファイルまたはディレクトリを変更してはならないことを示します。書き込み用にファイルを開く、ディレクトリ内にファイルを作成する、ディレクトリからファイルを削除する、ディレクトリ内のファイルの名前を変更する、ファイルまたはディレクトリの名前を変更する、またはファイルまたはディレクトリを削除しようとすると、アクセス許可エラーで失敗します。
  • (ユーザーおよびシステム)追加のみ:設定されている場合、ファイルは追加のみである必要があることを示します。
  • (ユーザー)不透明:ディレクトリに設定されている場合、ユニオンスタックを通して表示したときにディレクトリが不透明であることを示します

FreeBSDはいくつかの追加属性を追加しました[13]。DragonFlyBSDでもサポートされています:[14]

  • (ユーザーおよびシステム)リンク解除なし:設定されている場合、ファイルまたはディレクトリの名前を変更したり、削除したりしないことを示します。ファイルまたはディレクトリの名前を変更または削除しようとすると、アクセス許可エラーで失敗します。

FreeBSDは以下もサポートしています:[13]

  • (システム)アーカイブなし:設定されている場合、ファイルまたはディレクトリをアーカイブしないことを示します。
  • (システム)スナップショット:設定されている場合、ファイルまたはディレクトリがスナップショットファイルであることを示します。この属性はシステムによって維持され、スーパーユーザーによっても設定できません。

一方、DragonFlyBSDは以下をサポートしています。[14]

  • (ユーザーおよびシステム)履歴なし:設定されている場合、ファイルまたはディレクトリの履歴を保持しないことを示します。
  • (ユーザー)Swapcache:設定されている場合、ファイル、またはディレクトリとディレクトリの下のすべてのクリーンなファイルシステムデータをソリッドステートドライブのスワップスペースにキャッシュする必要があることを示します
  • (システム)Swapcache:設定されている場合、ファイル、またはディレクトリとディレクトリの下のすべてのクリーンなファイルシステムデータをソリッドステートドライブのスワップスペースにキャッシュしないことを示します。
  • (システム)アーカイブ済み:設定されている場合、ファイルまたはディレクトリがアーカイブされる可能性があることを示します。

NetBSDは別の属性を追加しました。[15] OpenBSDでもサポートされています:[16]

  • (システム)アーカイブ済み:設定されている場合、ファイルまたはディレクトリがアーカイブされていることを示します。

macOSは3つの属性を追加しました:

  • (ユーザー)非表示:設定されている場合、ファイルまたはディレクトリがデフォルトでGUIに表示されないことを示します。ただし、lsはそれを表示します。[17]
  • (システム)制限付き:設定されている場合、ファイルまたはディレクトリがシステム整合性保護によって保護されることを示します
  • (ユーザおよびシステム)圧縮:使用して圧縮されたファイルの読み取り専用属性HFS +の圧縮を

これらのシステムでは、chflagsandlsコマンドを使用して、ファイル属性を変更および表示できます。4.4BSDから派生したオペレーティングシステムでファイルの「user」属性を変更するには、ユーザーがファイルの所有者またはスーパーユーザーである必要があります。「システム」属性を変更するには、ユーザーがスーパーユーザーである必要があります。

Linux

Linuxオペレーティングシステムは、によって記載されていることができるファイル属性の広い範囲でサポートできるlsattrコマンドとにより、可能な場合、変更chattrコマンドを。プログラムは、ioctl操作を使用して属性を調べて変更できます[18]

多くのLinuxファイルシステムは限られた属性のセットのみをサポートしており、chattr変更可能なすべての属性をサポートしているわけではありません少なくともいくつかの属性をサポートするファイルシステムには、ext4XFS、およびbtrfsが含まれます。

多くの一般的なLinuxファイルシステムでサポートされている一般的なファイル属性
属性 lsattrフラグ chattrオプション セマンティクスと理論的根拠
atime更新 なし A +A,-A ファイルの読み取り/アクセス時にatimeレコードは変更されません。
追加のみ a +a,-a

ファイルへの書き込みは、追加モードでのみ許可されています。

不変 i +i,-i

ファイルの内容またはメタデータへの変更を防止します。ファイル/ディレクトリへの書き込み、削除、名前の変更、またはハードリンクはできません。

ダンプなし d +d,-d ファイルはダンププログラムによってスキップされます
安全な削除 s +s,-s 削除されると、すべてのファイルデータブロックがゼロで埋められるように要求します
同期アップデート S +S,-S 変更は、基盤となるファイルシステムストレージメディアに同期的に書き込まれます。影響を受けるファイルの「同期」マウントオプションと同等です。

も参照してください

参考文献

  1. ^ 「定義:ファイル属性」PCマガジンジフデイビス2020年10月14日取得
  2. ^ 「ファイル属性」コンピュータの希望2012年12月2日取得
  3. ^ a b 「Windowsでは、ファイル属性とは何ですか。どのように変更できますか?」ナレッジベースインディアナ大学2011年10月11日2012年12月2日取得
  4. ^ 「隠しファイルとは何ですか?」Windows7ヘルプMicrosoft 2012年12月2日取得
  5. ^ a b "Windows Server 2003、Windows XP、Windows Vista、またはWindows 7では、フォルダーの読み取り専用属性またはシステム属性を表示または変更することはできません"Microsoftサポートマイクロソフト。2012年5月31日2012年12月2日取得
  6. ^ 「フォルダの読み取り専用プロパティが非常に奇妙なのはなぜですか?」
  7. ^ a b "ファイル属性定数"MSDNMicrosoft 2018年7月17日取得
  8. ^ 「方法:Windows 2000でファイル属性管理スクリプト(Fileattributes.pl)を使用する」MicrosoftサポートMicrosoft 2012年12月2日取得
  9. ^ 「定義:DOS属性」PCマガジンジフデイビス2012年12月2日取得
  10. ^ 「PowerShellコマンドレットを使用してファイル属性を操作する」ねえ、Scripting Guy!ブログマイクロソフト。2011年1月26日取り出さ年12月3 2012
  11. ^ 「WindowsXPでファイルとフォルダの特別なアクセス許可を設定、表示、変更、または削除する方法」Microsoftサポートマイクロソフト。2007年5月7日2012年12月2日取得
  12. ^ chflags(2)  -  BSDシステムコールマニュアル
  13. ^ B chflags(2)  -  FreeBSDのシステムコールマニュアル
  14. ^ a b chflags(2)  –  DragonFlyBSDシステムコールおよびエラー番号マニュアル
  15. ^ chflags(2)  -  NetBSDのシステムコールマニュアル
  16. ^ chflags(2)  -  OpenBSDのシステムコールマニュアル
  17. ^ chflags(2)  – ダーウィンmacOSのシステムコールマニュアル
  18. ^ ioctl_iflags(2)  –  Linuxプログラマーマニュアル–システムコール

外部リンク