首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从存档中提取文件从父文件夹继承权限

如何从存档中提取文件从父文件夹继承权限
EN

Unix & Linux用户
提问于 2020-03-07 08:11:13
回答 2查看 761关注 0票数 3

我使用的是Centos 8 Linux,它的多个用户属于同一个组,访问同一个FS (xfs)中的数字ff文件夹/子文件夹和文件。我希望所有文件和文件夹都具有将umask设置为0002的写入权限,允许从用户创建的新文件具有正确的权限,但我有用户正在提取的tar文件和其他压缩文件--提取的文件维护他们原来的权限,并且不会更改,导致某些文件只对所有者具有权限,而不是组。我试图找到一种方法来自动设置权限,而不需要用户运行chmod来允许在主文件夹上分配g+s,但我只能获得新文件夹继承组权限,而不是单个文件。我试过启用ACL,但我仍然没有获得继承父文件夹权限的文件。这是我的主文件夹的样子

代码语言:javascript
运行
复制
drwxrwsr-x+ 4 owner group 4.0K Mar 6 10:26 test

以及提取其中的tgz文件后的内容。

代码语言:javascript
运行
复制
drwxrwsr-x+ 8 owner group 202 Mar 6 09:56 folder1 
drwxrwsr-x+ 8 owner group 202 Mar 6 10:12 folder2

但是,当我到达包含文件的第一个文件夹时,文件权限仅供所有者使用。

代码语言:javascript
运行
复制
ll test/folder1
-rwx------. 1 owner group 195K Jun 6 2018 file1
-rwx------. 1 owner group 225K Aug 4 2018 file2
-rwx------. 1 owner group 211K Aug 20 2018 file3
-rwx------. 1 owner group 100K Sep 9 2018 file4
-rwx------. 1 owner group 200K Oct 24 2018 file5
-rwx------. 1 owner group 199K Nov 9 2018 file6

即使在执行之后

代码语言:javascript
运行
复制
setfacl -R -m d:o:rwx test

文件不会更改其权限。

是否有办法强制从压缩存档中创建或提取所有文件,以从主文件夹继承权限?

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2020-03-09 07:16:05

我仍然在寻找更好的解决方案,但现在我创建了一个脚本,将tar输出输送到chmod命令

代码语言:javascript
运行
复制
#!/bin/bash -
set -o pipefail
tar xvf "$@" | xargs -rd '\n' chmod 770 --

我不太喜欢它,因为指示100和更多的用户使用不同的命令是很棘手的,但是如果找不到更好的解决方案,我将保留它。仅仅为了获取手册页的信息,tar似乎有一个应该忽略文件权限的选项。

--no-same-permissions

但似乎只有当umask权限比解压缩文件上的权限限制性更强时,才能工作,不知道这是否是一个bug

票数 1
EN

Unix & Linux用户

发布于 2020-03-08 08:50:56

您可以使用star执行,执行tar及其-chmod选项在提取时设置文件的权限:

代码语言:javascript
运行
复制
star -x -o -f file.tar -find -chmod ug+rwX
票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/571639

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档