tgz
ファイルを抽出しているときに、権限が変なものに変わっていることに気づきました。 tgzファイルはroot:rootに属していますが、フォルダーは502:gamesに属しています
[root@rocks7 common]# ls -l
-rw-r--r-- 1 root root 4779534 May 2 2012 scalapack-2.0.2.tgz
[root@rocks7 common]# tar xf scalapack-2.0.2.tgz
[root@rocks7 common]#
[root@rocks7 common]# ls -l
total 98576
drwxr-xr-x 10 502 games 4096 May 2 2012 scalapack-2.0.2
-rw-r--r-- 1 root root 4779534 May 2 2012 scalapack-2.0.2.tgz
ここの問題は何ですか?
Tarballには、ユーザーID 502が所有するscalapack-2.0.2
ディレクトリと、ゲームグループ(またはおそらくゲームグループの名前)に対応するグループIDが含まれています。実行するとこれを確認できます
tar tvf scalapack-2.0.2.tgz
Tarアーカイブには、ファイルの内容に加えて、所有権と権限が格納されます。ルートとして抽出しているため、そのメタデータは抽出されたファイルに適用されます。 tarball自体の所有権は、抽出されたデータの所有権に影響を与えません。
CentOSを実行しているため、おそらくGNU tar
を実行しているため、--no-same-owner
および--no-same-permissions
オプションを使用して、保存された所有権と権限を適用します。他のtar
実装には同様のオプションがあります(eg-o
on FreeBSD tar
)。