利用者:Sxonx7526/File attribute
File attribute(ファイル属性)は、ファイルシステム内のファイルやディレクトリの動作を記述し、変更するメタデータの一種である。ファイル属性は、ファイルが表示可能か、変更可能か、圧縮されているか、または暗号化されているかなどを指定する。ファイル属性を使用できるかどうかは、属性データを他の制御構造とともに格納する必要がある基本ファイル システム ( FAT 、 NTFS 、 ext4など) によるサポートに依存する。各属性には、「ある」状態と「ない」状態の 2 つの状態のいずれかを指定できる。ただし、属性は、日時、ファイル名の拡張子、ファイル システムのアクセス許可など、他のメタデータとは異なるものである。ファイル、フォルダ、ボリューム、およびその他のファイル システム オブジェクトに加えて、属性がある場合がある。
DOS と Windows
[編集]DOSとMicrosoft Windows は、ファイルとフォルダーは以下の4 つの属性をサポートしている。
- アーカイブ(A): 設定すると、ホスティング ファイルが最後のバックアップ操作以降に変更されたことを示す。 Windows のファイル システムは、変更されたすべてのファイルにこの属性を設定する。バックアップ ソフトウェアは、完全バックアップまたは増分バックアップ (差分バックアップではない) が成功したときに、それをクリアする義務がある。
- 非表示(H): 設定すると、ホスティング ファイルが非表示であることを示す。
dir
などコマンドや、MS-DOS コマンドやファイル エクスプローラーなどの Windows アプリは、要求されない限り、既定では隠しファイルを表示しない。 [1] - システム(S): 設定すると、ホスティング ファイルが、コンピューターが正常に動作するために必要な重要なシステム ファイルであることを示す。 MS-DOS と Microsoft Windows は、これを使用して重要なシステム ファイルをマークする。
dir
などのコマンドや、ファイル エクスプローラーなどの Windows アプリは、要求されない限り、隠しファイルが表示されていても、既定ではシステム ファイルを表示しない。 - 読み取り専用(R): 設定すると、ファイルを変更してはならないことを示す。ファイルを開く際、ファイル システムAPIは通常、アプリケーションが明示的に要求しない限り、要求元のアプリケーションに書き込み権限を付与しない。ただし、通常の場合、フォルダーに設定された読み取り専用属性は無視され、その読み取り専用属性は別の目的に使用される。 [2]
新しいバージョンの Windows が登場すると同時に、Microsoft はNTFSファイルシステムで利用可能な以下の3つの属性を追加した。 [3]
- 圧縮(C): 設定すると、Windows はストレージ上でホスティング ファイルを圧縮する。詳細については、 NTFS § File compressionを参照。
- 暗号化(E): 設定すると、Windows はストレージ上のホスティング ファイルを暗号化し、不正アクセスを防ぐ。詳細については、 NTFS § Encryptionを参照。
- Not Content-Indexed (I): 設定すると、インデックス サービスまたはWindows サーチは、ホスティング ファイルをインデックス作成操作に含めないようにできる。
Windows エクスプローラーの [属性] 列に表示されるその他の属性を以下に表示する。
- ディレクトリ(D): 独自のファイルおよびディレクトリ エントリを含むサブディレクトリを示す。
- 再解析ポイント(L): この属性が設定されたファイルまたはディレクトリには、関連付けられた再解析ポイントがあるか、シンボリック リンクであることを示す。
- オフライン(O): ファイル データはオフライン ストレージ (リモート ストレージ) に物理的に移動されることを示す。
- スパース(P): そのファイルがスパース ファイルであることを示す。つまり、そのファイルの内容は部分的に空になっており、連続していないことを示す。
- 一時(T): そのファイルは一時ストレージとして使用されることを示す。
DOS、 OS/2 、および Windowsでは、 cmd.exeもしくはcommand.comのattrib
コマンドを使用して、従来の 4 つのファイル属性を変更、表示することができる。 Windows のファイル エクスプローラーは、前述の 7 つの属性を表示できるが、システム属性を設定することはできない。 Windows 7以降のコンポーネントとなったWindows PowerShellには、属性の読み取りと書き込みが可能な 2 つのコマンドである Get-ItemProperty
とSet-ItemProperty
がある。 [4] Windows NTでファイルの属性を変更するには、「拡張属性の書き込み」と呼ばれる適切なファイル システム権限を持っている必要がある。 [5]
Unix と POSIX
[編集]Unixおよび Unix 系システム ( POSIX準拠システムを含む)は、各ファイルに、ファイルの所有者、グループ、およびその他すべてのユーザーの読み取り、書き込み、および実行の許可を制御する 9 ビット フラグを含む「モード」がある (ファイル システムの許可を参照) 。「このモード」に加えて、 setuidおよびsetgidビット フラグと「スティッキー」ビット フラグが設定できる。モードは、ファイルの種類(通常のファイル、ディレクトリ、またはその他の特別な種類) も指定する。
4.4BSD とその派生物
[編集]4.4BSDと4.4BSD-Liteでは、ファイルとディレクトリは、ファイルの所有者またはスーパーユーザーが設定できる 4 つの属性 (「ユーザー」属性) と、スーパーユーザーのみが設定できる 2 つの属性がある [6]
- (ユーザー) No-dump : 設定すると、バックアップ操作中にファイルまたはディレクトリを保存しないことを示す。
- (ユーザーおよびシステム) Immutable : 設定すると、ファイルまたはディレクトリを変更してはならないことを示す。書き込みのためにファイルを開く、ディレクトリ内にファイルを作成する、ディレクトリからファイルを削除する、ディレクトリ内のファイルの名前を変更する、ファイルまたはディレクトリの名前を変更する、またはファイルまたはディレクトリを削除しようとすると、アクセス許可エラーで失敗する。読み取り専用属性とよく似ている。
- (ユーザーおよびシステム) 追加のみ: 設定すると、ファイルにのみ追加する必要があることを示す。
- (ユーザー) Opaque : ディレクトリに設定すると、ユニオン スタックから見たときにディレクトリが不透明であることを示す。
FreeBSDではいくつかの属性が追加された。 [7]この追加された属性は DragonFly BSDでもサポートされた。 [8]
- (ユーザーとシステム) No-unlink : 設定すると、ファイルまたはディレクトリの名前を変更したり削除したりしてはならないことを示します。ファイルまたはディレクトリの名前を変更または削除しようとすると、権限エラーで失敗します。
FreeBSDは以下のものもサポートした。
- (システム) No-archive : 設定すると、ファイルまたはディレクトリをアーカイブしないことを示す。
- (システム) スナップショット: 設定すると、ファイルまたはディレクトリがスナップショット ファイルであることを示します。この属性はシステムによって維持され、スーパーユーザーであっても設定できないようになる。
一方、DragonFly BSD は以下をサポートしています [8]
- (ユーザーおよびシステム) No-history : 設定すると、ファイルまたはディレクトリの履歴を保持しないことを示す。
- (ユーザー) Swapcache : 設定されている場合、ファイル、またはディレクトリとディレクトリの下のすべてのクリーンなファイルシステム データを、ソリッド ステート ドライブのスワップ領域にキャッシュする必要があることを示す。
- (System) Swapcache : 設定されている場合、ファイル、またはディレクトリとディレクトリの下のすべてのクリーンなファイルシステム データを、ソリッド ステート ドライブのスワップ領域にキャッシュしないことを示す。
- (システム) アーカイブ済み : 設定されている場合、ファイルまたはディレクトリがアーカイブされている可能性があることを示す。
NetBSDにはこれらとは別の属性が追加されました[9]この属性はOpenBSDでもサポートされている。 [10]
- (System) Archived : 設定すると、ファイルまたはディレクトリがアーカイブされていることを示す。
macOS では、次の 3 つの属性が追加された。
- (User) Hidden : 設定すると、ファイルまたはディレクトリがデフォルトで GUI に表示されないことを示します [11]
- (System) Restricted : 設定すると、ファイルまたはディレクトリがシステム整合性保護によって保護されることを示す。
- (ユーザーおよびシステム) Compressed : HFS+圧縮を使用して圧縮されたファイルの読み取り専用属性であることを示す。
これらのシステムでは、 chflags
およびls
コマンドを使用して、ファイル属性を変更および表示できる。 4.4BSD 由来のオペレーティング システムでファイルの「ユーザー」属性を変更するには、ユーザーはファイルの所有者またはスーパーユーザーでないといけない。 「システム」属性を変更するには、ユーザーはスーパーユーザーでないといけない。
Linux
[編集]Linuxオペレーティング システムは、 lsattr
コマンドで属性を一覧表示し、変更可能な場合はchattr
コマンドで変更できる幅広いファイル属性をサポートしている。プログラムは、 ioctl操作を使用して属性を調べたり変更したりできる。 [12]
多くの Linux ファイル システムは限られた属性セットしかサポートしておらず、 chattr
が変更できるすべての属性をサポートしているものはない。少なくともいくつかの属性をサポートするファイル システムには、 ext4 、 XFS 、およびbtrfsが含まれる。
属性 | フラグ | オプション | 説明 |
---|---|---|---|
No atime updates | A
|
+A,-A
|
ファイルの読み取り/アクセス時にレコードは変更されません。 |
Append-only | a
|
+a,-a
|
ファイルへの書き込みは追加モードでのみ許可されます。 |
Immutable | i
|
+i,-i
|
ファイルの内容またはメタデータへの変更を防ぎます。ファイル/ディレクトリへの書き込み、削除、名前の変更、またはハードリンクはできません。 |
No dump | d
|
+d,-d
|
ファイルは<span data-cx="[{"adapted":true,"partial":false,"targetExists":true}]" data-mw="{"parts":[{"template":{"target":{"wt":"Mono","href":"./Template:Mono"},"params":{"1":{"wt":"dump"}},"i":0}}]}" data-ve-no-generated-contents="true" id="mwAQQ" typeof="mw:Transclusion"> </span>プログラム |
Secure deletion | s
|
+s,-s
|
削除時にすべてのファイル データ ブロックをゼロで埋めるように要求します。 |
Synchronous updates | S
|
+S,-S
|
変更は、基礎となるファイルシステム ストレージ メディアに同期的に書き込まれます。影響を受けるファイルの「sync」マウント オプションと同等です。 |
関連記事
[編集]- 拡張ファイル属性
- 隠しファイルと隠しディレクトリ
- ボリュームラベル
参考文献
[編集]- ^ “What is a hidden file?”. Windows 7 Help. Microsoft. 2 December 2012閲覧。
- ^ “Why is the readonly property on folders so strange?”. Template:Cite webの呼び出しエラー:引数 accessdate は必須です。
- ^ “HOW TO: Use the File Attribute Management Script (Fileattributes.pl) in Windows 2000”. Microsoft support. Microsoft. 2 December 2012閲覧。
- ^ “Use a PowerShell Cmdlet to Work with File Attributes”. Hey, Scripting Guy! Blog. Microsoft (26 January 2011). 3 December 2012閲覧。
- ^ “How to set, view, change, or remove special permissions for files and folders in Windows XP”. Microsoft Support. Microsoft (7 May 2007). 2 December 2012閲覧。
- ^
[[[:Template:Man/4.4BSD-Lite2]] chflags(Template:Man/4.4BSD-Lite2)]
– Template:Man/4.4BSD-Lite2 - ^
chflags(2)
– FreeBSD System Calls Manual Pages (en) - ^ a b
[[[:Template:Man/DragonFly BSD]] chflags(Template:Man/DragonFly BSD)]
– Template:Man/DragonFly BSD - ^
chflags(2)
– NetBSD System Calls Manual(en) - ^
chflags(2)
– OpenBSD System Calls マニュアル - ^
chflags(2)
– Darwin and macOS System Calls Manual - ^
ioctl_iflags(2)
– JM Project Linux System Calls マニュアル
引用エラー: <references>
グループ「」で定義されている、nameが「pcmag-t」の <ref>
タグに内容がありません。
引用エラー: <references>
グループ「」で定義されている、nameが「computerhope-t」の <ref>
タグに内容がありません。
引用エラー: <references>
グループ「」で定義されている、nameが「IndianaUni-t」の <ref>
タグに内容がありません。
引用エラー: <references>
グループ「」で定義されている、nameが「microsoft-full」の <ref>
タグに内容がありません。
引用エラー: <references>
グループ「」で定義されている、nameが「pcmag-attrib.exe」の <ref>
タグに内容がありません。
引用エラー: <references>
グループ「」で定義されている、nameが「hidden and readonly」の <ref>
タグに内容がありません。
外部リンク
[編集]- 定義: PC Magazineの DOS 属性
- Hidden files in Unix-like operating systems at the Wayback Machine (archived October 17, 2007)
- Microsoft ファイル属性定数
- Win32 ファイル属性
[[Category:OSのファイルシステム]]