ディレクトリ権限 "d"を削除できますか?

ディレクトリ権限 "d"を削除できますか?

私は知っていますすべては文書です(Wikipedia)。私は、ファイルの権限を調べながら、ディレクトリファイル形式を通常の一般的なファイル形式に変更することが可能かどうか疑問に思いました。

たとえば、

mkdir directoryそしてtouch file次の内容が表示されます。

drwxr-xr-x 2 user group 4096 Aug 18 22:26 directory
-rw-r--r-- 1 user group    0 Aug 18 22:26 file

directoryLinux(またはUnix)の世界でに変換することは可能ですかfile?つまり、ddrwxr-xr-x

答え1

d権限ではなくファイル形式です。過去のUnixファイルシステムの実装では、タイプと権限が16ビットにバンドルされました。modeiノードドメイン1、これがおそらくstat(2)API(st_modeフィールド)とls長い出力も一緒に結ぶ理由です。

ただし、種類は変更できません。元のディレクトリデータは通常のファイルと同じ方法で保存されており、ユーザースペースに不透明ではありませんでしたが、現在は特定のシステムコールを使用してコンテンツを読み取るか、アイテムを追加/削除/名前変更するために直接コンテンツを読み書きするのではなく、ディレクトリ)、いくつかのファイルシステムでは、ディレクトリデータがファイルとは異なる方法で保存されるため、型を変更する方がはるかに意味がありません。


¹低12ビット特権、より高いビットエンコーディングタイプ、より多くの内部FS関連エントリなどi_flagV7から別の新しいフィールドに移動1970年代後半。

関連情報