コピーの所有権を維持することはできませんが、移動できますか?

コピーの所有権を維持することはできませんが、移動できますか?

rsync -oファイルを送信すると、所有権を維持できないことがわかりました。しかし、移動するときはそうします。これらすべてに管理者権限がありません。これの根拠は何ですか?たとえば、複数のスレッド(1)管理者権限の必要性を反映しているようです。

答え1

同じファイルシステム内でファイルを移動すると、ファイルは元の場所から切り離され、新しい場所にリンクされます。ファイルデータは変更されず、そのまま残ります。ファイルメタデータ -インデックスノード——変化はありません。したがって、ファイルは所有権、権限、時間、およびその他の属性を保持します。名前と含まれているディレクトリの変更(およびinodeの変更時間(ctime))のみが保持されます。

ファイルをコピーすると(rsyncまたは他のユーティリティを使用して)同じ内容の新しいファイルが作成され、変更時間はコピーが完了した日付に設定されます。コピーユーティリティによっては、ソースファイルからファイルメタデータの一部をコピーすることもできますrsync -o

inodeを移動するには、ソースディレクトリ(分離)と宛先ディレクトリ(再接続)への書き込み権限のみが必要です。ファイルを所有したり、ファイルを読み書きできるようにする必要はありません。一方、他のユーザーに属するファイルを作成できないか、他のユーザーにファイルを提供する(rootとして実行されるプログラムを除く)したがって、root以外のユーザーにファイルをコピーしても、所有権は保持されません(コピーを作成するユーザーが元のファイルを所有していない限り)。

関連情報