使用 tar 保留存档权限失败

问题描述

我正在尝试使用保留权限对 /var/log/messages 进行存档,但是当我查找存档文件的权限时,我发现它有所不同。

[root@nn tmp]# tar -cvpf new.tar /var/log/messages

tar: 从成员名中删除前导 `/' /var/log/messages

[root@nn tmp]# ls -l /var/log/messages

-rw-------。 1 根根 3377818 Jun 8 11:43 /var/log/messages

[root@nn tmp]# ls -l new.tar

-rw-r--r--。 1 根 3389440 Jun 8 11:44 new.tar

查看存档权限与原始权限完全不同。

解决方法

-p--preserve-permissions--same-permissions 标志与存档中存储的文件的权限有关,与存档文件本身无关。

使用 umask 0077 为所有者以外的用户创建没有任何权限的新文件。