在提取tgz文件时,我注意到权限发生了一些奇怪的变化!tgz文件属于root:root,而文件夹属于502:运动会。
[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这里有什么问题?
发布于 2018-07-19 12:27:56
tarball包含一个用户id 502所拥有的scalapack-2.0.2目录,任何组id对应于游戏组(或者,可能是按名称命名的游戏组)。你可以通过运行
tar tvf scalapack-2.0.2.tgzTar存档除了存储文件内容之外,还存储所有权和权限;因为您是作为根文件进行提取,所以元数据将应用于提取的文件。tarball本身的所有权对提取的数据的所有权没有影响。
由于您运行的是CentOS,因此您大概是在运行GNU tar,您可以使用--no-same-owner和--no-same-permissions选项来提取tarball,而无需应用存储的所有权和权限。其他tar实现可能有类似的选项(例如,-o on FreeBSDtar)。
https://unix.stackexchange.com/questions/457203
复制相似问题