web-dev-qa-db-ja.com

sudo tarは抽出されたファイルの所有権を不明なユーザーに変更します

私はこのコマンドを実行しています:

$ Sudo tar xvzf nexus-latest-bundle.tar.gz

抽出されたファイルは、不明な(1001)ユーザーに属しています:

drwxr-xr-x 8     1001     1001      4096 Dec 16 18:37 nexus-2.12.0-01
drwxr-xr-x 3     1001     1001      4096 Dec 16 18:47 sonatype-work

通常の構成ではrootを所有者にすべきではありませんか?

AWS AMIから複製されたLinuxインストールに取り組んでいます。

10
raspacorp

ルートとしてファイルを抽出する場合、tarは元の所有権を使用します。 --no-same-ownerオプション(または、-o)を使用してオーバーライドできます。

あなたのtarファイルは、それを抽出したシステムに存在しないユーザー/グループを参照していました。

yourself(非特権ユーザー)としてファイルを抽出すると、自分が所有するファイルのみを作成できます。

GNU tar manual は言う:

--same-owner
アーカイブを抽出するとき、tarは、このオプションが存在する場合、tarアーカイブで指定された所有者を保存しようとします。これはスーパーユーザーのデフォルトの動作です。このオプションは、一般ユーザーにのみ効果があります。セクション ファイル属性の処理 を参照してください。

15
Thomas Dickey

Tarファイルを作成した人の有効なユーザーIDとグループID(UID:GID)は1001:1001でした。 tarはデフォルトで所有権と権限を保持するため、展開するとこれらの値を継承します。システムにUID:GID 1001:1001のユーザーがいる場合、これらのファイルはそのユーザーが所有していることになります。

1
MelBurslan