shutil のドキュメントには次のように書かれています。
高レベルのファイル コピー関数 (shutil.copy()、shutil.copy2()) でさえ、すべてのファイル メタデータをコピーすることはできません。POSIX プラットフォームでは、これはファイルの所有者とグループ、および ACL が失われることを意味します。
Python でファイルをコピーする必要がある場合、ファイルの所有者とグループを保持するにはどうすればよいですか?
このプロセスは Linux で root として実行されます。
更新: ACL は使用しません。tar や rsync などのツールで保存されているものだけを保持する必要があります。