tar命令解压文件后造成目录权限更改

Question:

  最近在用shell编写软件包的一键部署时发现一个有趣的现象:软件安装包中包含一些第三方的压缩包,这些压缩包本身的用户组权限为root,但解压后的目录的所有者权限却变更为1001,如果这时候用groupadd和useradd命令分别添加用户组和用户为test,会发现解压后的目录的所有者权限会变更为新添加的test。(环境:CentOS7-1708)


 

Answer:

  经过查找资料发现,tar命令在解压时会默认指定参数--same-owner,即打包的时候是谁的,解压后就给谁;

  如果在解压时指定参数--no-same-owner(即tar --no-same-owner -zxvf xxxx.tar.gz),则会将执行该tar命令的用户作为解压后的文件目录的所有者。

  解压时添加--no-same-owner参数后该上述问题解决,但为什么当目录的所有者权限变更为1001后执行groupadd和useradd命令会更改目录所有者权限为新添加的用户,还没想明白,希望知道的朋友能指点迷津。先在此谢过啦~

  

posted @ 2018-07-12 22:09  淡灬水  阅读(8463)  评论(1编辑  收藏  举报