在已挂载的文件系统上使用 tar 文件的权限问题

在已挂载的文件系统上使用 tar 文件的权限问题

我正在打包一个文件夹,权限和所有者详细信息完好无损,但将其解压到普通目录时,其权限仍然存在,但如果我在已安装的文件系统上解压它(即在 /mnt 上安装 SD 卡分区并将文件解压到 /mnt),所有权就会改变。其所有者和组名称为 1001。

$ mount | grep /mnt

/mnt 上的 /dev/sdd2 类型 ext3 (rw)

答案1

man tar

 --no-same-permissions
       apply the user's umask when extracting permissions from the archive
       (default for ordinary users)

-p, --preserve-permissions, --same-permissions
       extract information about file permissions (default for superuser)

因此,如果您必须使用 root 权限才能提取到/mnt,只需将--no-same-permissions-option 添加到命令中即可。p必须从命令中删除 -option,因此,对于您的情况,命令

sudo tar --no-same-permissions -xjvf file.tar.bz2 -C /mnt

应该会按照您的意愿执行。所有文件和文件夹将归您所有。

相关内容