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命令會更改目錄所有者權限為新添加的用戶,還沒想明白,希望知道的朋友能指點迷津。先在此謝過啦~