为什么在 ubuntu 下可以解压 owner 是 root 的 tar 包,而 centos 下不可以?

2016-03-31 23:10:41 +08:00
 conoha
hi , 各位大牛, 我在 ubuntu 下可以解压 owner 是 root 的 tar 包, 但是为什么在 centos 下却不可以呢, 如果不用 sudo 有方法可以解决吗?(通过配置?)
1729 次点击
所在节点    问与答
5 条回复
UnisandK
2016-03-31 23:16:38 +08:00
没有读权限吧
lhbc
2016-03-31 23:18:26 +08:00
可能的影响因素:
1. 权限除了 owner ,还有 group 和 other
2. 上级目录有没有 r 和 x 权限
3. Linux 有 ACL 这个功能
conoha
2016-03-31 23:36:06 +08:00
@UnisandK @lhbc ,测试了下, 我在阿里云 6.5 上这个是有用的
$ ll
-rw-rw-r-- 1 cq cq 0 Mar 31 23:28 1
-rw-rw-r-- 1 cq cq 0 Mar 31 23:28 2
$ sudo chown root.root 1
$ sudo chown root.root 2
$ ll
-rw-rw-r-- 1 root root 0 Mar 31 23:28 1
-rw-rw-r-- 1 root root 0 Mar 31 23:28 2
$ sudo tar -cf root.tar.gz 1 2
$ ll
-rw-rw-r-- 1 root root 0 Mar 31 23:28 1
-rw-rw-r-- 1 root root 0 Mar 31 23:28 2
-rw-r--r-- 1 root root 10240 Mar 31 23:36 root.tar.gz
$sudo rm 1
$tar -xf root.tar.gz && ll
-rw-rw-r-- 1 cq cq 0 Mar 31 23:28 1
-rw-rw-r-- 1 cq cq 0 Mar 31 23:28 2
-rw-r--r-- 1 root root 10240 Mar 31 23:36 root.tar.gz
但是我在公司却不可以,明天再去验证下看看~
strahe
2016-04-01 00:21:28 +08:00
能读就能解压,主要是解压以后的数据存放的目录有没有写权限,没写权限也会解压失败.
conoha
2016-04-01 09:54:50 +08:00
hi ~ 已经确认了代码写挫了, 用 docker 镜像挂载的目录如果不手动生成就是 root 用户,目录里面没有写权限, 谢谢了! @strahe @lhbc

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/267747

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX