tar文件解压后会导致当前目录所有者改变,请问是什么原因

系统安装、升级讨论
版面规则
我们都知道新人的确很菜,也喜欢抱怨,并且带有浓厚的Windows习惯,但既然在这里询问,我们就应该有责任帮助他们解决问题,而不是直接泼冷水、简单的否定或发表对解决问题没有任何帮助的帖子。乐于分享,以人为本,这正是Ubuntu的精神所在。
回复
sprawn
帖子: 24
注册时间: 2016-03-27 11:14
系统: 13.1

tar文件解压后会导致当前目录所有者改变,请问是什么原因

#1

帖子 sprawn » 2017-11-01 16:48

在test里面有个tar文件,test这个目录原来的所有者是wangxiaochun,而对这个tar文件解压后,test的所有者就变成了root
也试了下解压的时候加上-p选项,结果也一样
附件
tar解压.png
头像
astolia
论坛版主
帖子: 6445
注册时间: 2008-09-18 13:11

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#2

帖子 astolia » 2017-11-01 19:38

你是在解压netboot.tar.gz?这个tar包里把 . 也打包进去了,所以你以root权限解包时,就把当前目录的权限也改成root了
可以用 tar -tf netboot.tar.gz 查看
sprawn
帖子: 24
注册时间: 2016-03-27 11:14
系统: 13.1

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#3

帖子 sprawn » 2017-11-02 9:23

astolia 写了:你是在解压netboot.tar.gz?这个tar包里把 . 也打包进去了,所以你以root权限解包时,就把当前目录的权限也改成root了
可以用 tar -tf netboot.tar.gz 查看
我没有用root解包,而是普通的用户
头像
astolia
论坛版主
帖子: 6445
注册时间: 2008-09-18 13:11

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#4

帖子 astolia » 2017-11-02 9:57

sprawn 写了:我没有用root解包,而是普通的用户
那去检查ls -l `which tar`,看看tar是不是被加上了setuid位
如果是,则说明服务器被管理员乱配置了,也不排除是某些人刻意留下的后门
如果不是,检查tar的版本,与源里同版本的tar比较hash,看是不是被人种了后门
sprawn
帖子: 24
注册时间: 2016-03-27 11:14
系统: 13.1

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#5

帖子 sprawn » 2017-11-02 10:21

astolia 写了:
sprawn 写了:我没有用root解包,而是普通的用户
那去检查ls -l `which tar`,看看tar是不是被加上了setuid位
如果是,则说明服务器被管理员乱配置了,也不排除是某些人刻意留下的后门
如果不是,检查tar的版本,与源里同版本的tar比较hash,看是不是被人种了后门
-rwsr-xr-x 1 root root 353840 11月 18 2016 /bin/tar
有suid,这个也只能说明是用root的权限来解压啊,可为什么当前目录的owner也会变成root呢
头像
astolia
论坛版主
帖子: 6445
注册时间: 2008-09-18 13:11

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#6

帖子 astolia » 2017-11-02 14:36

我觉得我在二楼已经说得够清楚了,你还不懂?
先用 tar -tvf netboot.tar.gz 看包里的文件所有者
然后 man tar,看看--same-owner和--no-same-owner的说明
funicorn
帖子: 1318
注册时间: 2005-09-13 4:56
系统: Ubuntu Jammy Jellyfi

Re: tar文件解压后会导致当前目录所有者改变,请问是什么原因

#7

帖子 funicorn » 2017-11-02 22:39

因为tar执行的是一个“合并压缩包里的目录和本地当前目录”的操作,而不是直觉上的“将压缩包里的文件解压到本地当前目录内”的操作。
sprawn 写了:
astolia 写了:
sprawn 写了:我没有用root解包,而是普通的用户
那去检查ls -l `which tar`,看看tar是不是被加上了setuid位
如果是,则说明服务器被管理员乱配置了,也不排除是某些人刻意留下的后门
如果不是,检查tar的版本,与源里同版本的tar比较hash,看是不是被人种了后门
-rwsr-xr-x 1 root root 353840 11月 18 2016 /bin/tar
有suid,这个也只能说明是用root的权限来解压啊,可为什么当前目录的owner也会变成root呢
回复