sil*_*ilk 28 acl tar backup permissions
当使用 tar 实用程序将文件存储在备份中时,会丢失扩展的 ACL。
是否有一些常用的而不是骇人听闻的解决方案(例如:创建一个将从头开始重新创建 ACL 的脚本)来保留 ACL?
小智 14
实际上,我认为问题不在于(标准)文件权限位,而在于扩展ACL 信息(请参阅 setfacl(1) 或 acl(5))。
据我所知,未经修改的 GNU tar 会忽略 ACL 信息。(RHEL 5.2 附带的 GNU tar 1.15.1 手册页提到了开关 --acls 和 --no-acls,但我还没有让它们工作。)
但是,如果您选择exustar格式,star程序能够备份和恢复 ACL :
star -c -p -acl artype=exustar -f archive.tar files...
star -x -acl -f archive.tar
Run Code Online (Sandbox Code Playgroud)
Star 主页:http : //cdrecord.berlios.de/new/private/star.html Star 至少在 ubuntu 中可用。
man*_*k13 10
到目前为止,我也在寻找解决方案:
首先从我的文件夹中执行 getfactl
getfacl -R /a_folder > folder.acl
Run Code Online (Sandbox Code Playgroud)
然后做一个普通的焦油
tar -czvf folder.tar.gz /a_folder
Run Code Online (Sandbox Code Playgroud)
当我提取它时
tar -xvf folder.tar.gz
Run Code Online (Sandbox Code Playgroud)
为权限做一个 setfacl。
setfacl --restore=folder.acl
Run Code Online (Sandbox Code Playgroud)
这对我有用。
小智 8
使用焦油
创造:
tar --acls -cpf backup.tar some-dir-or-file
Run Code Online (Sandbox Code Playgroud)
解压:
tar --acls -xpf backup.tar
Run Code Online (Sandbox Code Playgroud)