現在システムにないユーザーのユーザー名を表示するための予約された権限を持つTarファイル

現在システムにないユーザーのユーザー名を表示するための予約された権限を持つTarファイル

www-dataユーザーを持たないシステムでは、tarはwww-dataなどのユーザー名をどのように表示しますか?

私はtarがシステムIDに基づいてユーザー権限を保持していることを知っています。この場合、Debianシステムのwww-dataに対して33(おそらくそうですか?)です。

最も混乱しているのは、フォルダの権限を33(存在しないユーザー)に変更して別のサーバーに送信すると、tarが所有者をユーザー33に報告しますが、解凍するとフォルダが所有者wwwに設定されることです。 -データ。

タール(GNUタール)1.29

ベストアンサー1

tarこれは、この情報がPOSIX 1003.1-1990で指定されたustar形式でも保存されるためです。公式ソースコードにはこれが指定されていますtar.hヘッダファイル。重要な部分をコピーしました。

/* POSIX header.  */

struct posix_header
{               /* byte offset */
  [...]
  char uid[8];          /* 108 */
  char gid[8];          /* 116 */
  [...]
  char uname[32];       /* 265 */
  char gname[32];       /* 297 */
  [...]
};

ご覧のとおり、uidとgidに加えて、所有者ユーザー名と所有者グループ名も保存されています。

おすすめ記事