[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:14667] Re: [Q] root owner/user changing while using tar



むつみです。

 Matsuzaki Takaaki <takaaki@xxxxxxxxxxxxxxx> さんは
   Subject: [debian-users:14664] [Q] root owner/user changing while using tar
   Message-ID: <199904191055.TAA08659@xxxxxxxxxxxxxxx>
 において言いました

>> 松崎です。

>> ○ 現象
>> 
>> サブジェクトどおりなんですが「アーカイブを解凍すると、違う owner/user
>> になってしまう」というものです。

 ここで言っている「アーカイブ」ってには、以下の文章からすると「tar アー
カイブ(あるいは、それを gzip で圧縮したもの)」と判断してよろしいですね?

 であれば、別に不思議な症状は起っていません。そういうものです。

>> ○ やったこと、判ったこと
>> 
>> 現象をいろいろ試してみると、どうも「作成されたときの owner/user を保持
>> しようとしている」と思われます。

 その通りです。

>> これが、root ではなく、一般ユーザがおこなうと、問題なくそのユーザの
>> owner/user のファイルになります。もちろん $ tar xvvzf archive.tar.gz
>> を実行中には、ちがう owner/user が表示されています。

 「問題なくそのユーザのものになる」のではなく、一般ユーザの場合、他人
が owner であるようなファイルを作成できませんから、必然的にそうなって
しまうだけです。

#例えば、ishikawa が owner hogehoge のファイルを作れますか?できま
#せんよね。

 逆に言うと、一般ユーザで tar アーカイブをほどくと、せっかく保持してい
た owner/group の情報が利用できない(再現できない)ということも言えます。

>> ○ ちょっと疑問が残る点
>> 
>> 過去に root アカウントで取ってきたもので、過去に解凍してあるディレクト
>> リやファイルは root の owner/user なのに、もとになったアーカイブを今解
>> 凍すると、違う owner/user になります。

 それは、違った owner/group になったように"見える"だけです。

>> ミラーサイトから取ってきた pcmcia-cs_3.0.9.orig.tar.gz を root で解凍
>> すると、解凍中には owner/user が brian/brian と表示されているのに、解
>> 凍後には、僕のマシンの一般ユーザになってることです。owner/user ともに
>> そうなります。

 tar アーカイブの属性情報には、tar アーカイブを作成した時の
owner/group が文字列として認識される形で記録されます(つまり、上の例だ
と brain/brain だよと記録されている)。ところが、アーカイブ中の個々のファ
イルには、uid/gid の番号が記録されているに過ぎません。

 ある環境 で brain(uid=100)/brain(gid=100) が tar アーカイブを作成して、
それを別の環境で展開したとしましょう。その環境には uid=100 として
ishikawa というユーザが、gid=100 として staff というグループが登録され
ていたとします。そうすると、個々のファイルは ishikawa/staff という
owner/group に突如変更されてしまったかのように見えてしまいます。しかし、
実際は uid/gid とユーザ名/グループ名のマッピングが(環境が変わったこと
により)変更されただけで、個々のファイルが持っていた属性中の
owner/group の uid/gid は変更されていません。

 展開された先の環境に、その uid/gid を持った user/group が存在していな
ければ、当然ですが、(ls -l などした場合) uid/gid の番号がそのまま出ま
す。

>> ○ 質問
>> 
>> この現象の解消方法はあるのでしょうか?

 なんか、オプションありましたっけ>all

#というか、--same-owner って、ディフォルトなんでしたっけ?
-- 
 From Nagoya
  ishikawa@xxxxxxxxxxx, ishikawa@debian.or.jp,
   ishikawa@xxxxxxxxxxxxx, ( mutsumi@xxxxxxxxxxx for PostPet only )
  ** 石川 睦%無意味な全文引用をする人は嫌い@日本 Linux 協会 **
X-TT 1.2.1 [Aoi MATSUBARA 2 pl1] http://www.linux.or.jp/~ishikawa/linux/X-TT/