MacのファイルをハードドライブにコピーしてWindowsから表示すると、暗号化されることが多いのはなぜですか?

Nov 21 2020

Macのファイルが外付けドライブに置かれ、そのドライブがWindowsシステムに接続されていると、暗号化されることが多いのはなぜですか?

私が何を意味するのかを説明します。あなたがそれらを開くことができるので、それらは一見暗号化されていないように見えます。

しかし、詳しく調べると、Windowsエクスプローラーに緑色で表示される可能性があります

Windowsのcipherコマンドは暗号化されたものとして表示され、それらの属性プロパティは暗号化されたものとして表示されます。

これに遭遇したのは私だけではありません。たとえば、Windows 7で暗号化されたファイルを一覧表示する方法を探していますか? あるポスターは次のように書いています。「...外部HDDをクリーンアップしていて、暗号化された150個のファイルに出くわしました。コンピュータで暗号化を使用していないので、それらが何でどこにあるのか知りたいと思いました。簡単に入手できるダウンロードはほとんどありません。または、PCに「_MACOSX」フォルダが表示されています。これらは常に暗号化されています。」

私が遭遇した例は、コマンドで作成した「scaffoldingtest1」というディレクトリだけをRailsに記述rails new scaffoldingtest1 し、親ディレクトリを外付けハードドライブにコピーしたプログラムです。

Macユーザーからのadobeに関連するPDFもいくつか見ました。

また、Windowsマシンで暗号化されているかのように暗号化されており、そのWindowsユーザー名@そのコンピューターからのみ表示できます。Windowsの暗号化のプロパティに示されているように。そして、そのコンピューターのそのユーザーはそれらを復号化できます。しかし、どういうわけか、そのように暗号化されました。その外付けドライブが別のWindowsコンピュータに持ち込まれた場合、それらを読み取ることはできません。

そして、OSXのどの設定がそれを引き起こしているのだろうか?

注-一部のモデレーターは長いコメントスレッドを削除して重要な情報を失う傾向があるため、2020年11月21日20:13英国時間https:// pastebinの時点でここにバックアップされている現在のコメントスレッドへのリンクを次に示します。 com / raw / f2Aytv6W

回答

6 jksoegaard Nov 21 2020 at 15:13

この理由は、さまざまなWindowsバージョンの組み込みmacOSアーカイブプログラムおよび組み込みunzipperとの既知の互換性の問題です。

Finderに組み込まれている「圧縮」ツールを使用すると、ZIPファイルを取得できます。ZIPファイルには、特に、各ファイルの「外部ファイル属性」と呼ばれるものが含まれています。これらの属性はホストシステムに依存します(つまり、これらの属性は、さまざまなオペレーティングシステムで同じように理解されることが保証されていません)。

残念ながら、macOSツールがファイルをマークする属性の1つは、Windowsの組み込みの解凍ツールによって、ファイルを「暗号化」(NTFSファイルに組み込まれている単一ファイル暗号化の特殊な形式)としてマークするものとして解釈されます。システム)。これは、解凍するとファイルに暗号化された属性があり、Windowsエクスプローラーでそれらの名前が緑色で表示されることを意味します。

ただし、ファイルのプロパティを簡単に開いて「暗号化された」属性のチェックマークを外すことができるため、これに重大な欠点はありません。ファイルの内容は実際には暗号化されていないため、ファイルを通常どおり開くことができます。

この問題は、Macで別の圧縮ツールを使用するか、Windowsで別の解凍ツールを使用することで回避できます。

技術的な詳細は次のとおりです。

この問題は、Windowsの解凍プログラムが各ファイル/フォルダーのZIPヘッダーの「外部ファイル属性」を誤って解析することが原因で発生します。ヘッダーのこの要素はホストに依存します。そのため、解凍者は「バージョン作成者」と呼ばれる中央ディレクトリファイルヘッダーの要素をチェックして、どのオペレーティングシステムがファイルを作成したかを調べる必要があります。macOS圧縮ツールは、「Unix」の属性値3をここに正しく格納します。

残念ながら、Windowsツールはこの値を無視し、ファイル属性をWindowsで作成されたかのように常に解釈します。「暗号化」の問題は、Windowsで作成されたZIPファイルが、Microsoftによって定義されたファイル属性定数(FILE_ATTRIBUTE _ <...>)に従ってファイル属性を格納するという事実に起因します。特に、値0x4000で定義されたFILE_ATTRIBUTE_ENCRYPTEDは、暗号化されたファイルまたはディレクトリを意味します。ただし、UnixシステムはPOSIX定数を使用します。S_IFDIRは「これはフォルダです」を意味する属性であり、通常は値0040000として定義されます。これは0x4000に相当します。