
Windows XP SP3 がインストールされたハード ドライブがあります。ドライブをラップトップ内の標準 SATA コネクタを介して接続すると、すべてが期待どおりに動作します。
しかし、ドライブをラップトップから取り外し、ドライブを外部 USB アダプターに接続すると、ほとんどすべてのファイル/フォルダーの「所有者」フィールドの内容が失われます。なぜそうなるのか疑問に思いました。2 つの USB アダプターを試しましたが、どちらでもこの問題が発生しました。すべてのファイルの所有権を取得することはできますが、所有者の値 (ラップトップの標準 SATA コネクターを介してドライブにアクセスしたときに表示される所有者の値) が上書きされます。
//編集: ハードドライブを USB アダプター経由で使用する場合、少なくともファイル (/ フォルダー) の所有権を取得するまでは、ほとんどのファイルにアクセスできません。
次のようになります:
USBアダプタ内のHDD:
ノートパソコン内部のHDD:
(オーナー列に注意してください)
//編集: 最初のスクリーンショットの一部のファイルには、所有者フィールドが入力されています。これは、ハード ドライブ上のファイルにアクセスできるようにするために、それらのファイル/フォルダーの所有権を取得したためです。
//edit2: また、ハードドライブが USB アダプターを介して接続されていて、一部のファイルの所有権を 'ddd' ユーザーに付与している場合、別のユーザー ('eee' ユーザーとします) としてログインすると、所有者フィールドは _まだ_ 空になります。
ddd ユーザー:
eee ユーザー:
eee ユーザーは 'ddd' フォルダにアクセスできません。
両方のユーザーには管理者権限があります。
答え1
NTFS ドライブでファイルを作成または編集すると、そのファイルに割り当てられるユーザーまたはグループが取得されます。Microsoft説明するこのメカニズムはかなり優れています。基本的に、すべてのファイルにドメイン グループとユーザーが割り当てられます。(DOMAIN\user)
もちろん、彼らはそれがどのように機能するかについて詳細に語っていませんが、Linux用にntfs-3gを再構築した人たちは、それがどのように機能するかを理解するためにファイルシステムを詳しく調べなければなりませんでした。記事これは、ワークフローを容易にするために Linux ユーザーを Windows ユーザーにマッピングする方法を説明しています。ここでは Linux について説明していませんが、マッピングはさまざまな番号のセットであることがわかります。例:
500::S-1-5-21-1833069642-4243175381-1340018762-1008
コロンの前の部分は Linux ユーザー ID で、その後の部分は Windows ユーザー ID で、実際には所有者フィールドに保存されます。もちろん Windows は Linux ユーザー ID を必要としませんが、システム ユーザーをファイルに保存されている ID にマッピングする同様のマッピング テーブルがあります。
実際にこの所有者を持つ正しいシステムでファイルを表示する場合、Windows はこの ID を読み取って識別できます。ただし、ドライブを別のコンピューターに持ち込んだ場合、ファイルの所有者が他のシステムで認識されていないため、マップすることはできません。
(これは推測に過ぎませんが、私にはこれが理由のように思えます)