复制文件并继承目标文件夹的权限

复制文件并继承目标文件夹的权限

当我将文件复制到 USB 磁盘或同一磁盘上的另一个帐户时,权限不会更改为目标。例如,当我将文件从帐户 X 复制到帐户 Y 的文件夹时,文件的权限仍属于帐户 X。

我喜欢复制文件并将权限更改为帐户 Y 的权限。

我该怎么做呢?

答案1

您可以使用ACL和命令setfacl为了那个原因。

ACL 条目

ACL 条目由用户 (u)、组 (g)、其他 (o) 和有效权限掩码 (m) 组成。有效权限掩码定义最严格的权限级别。setfacl设置给定文件或目录的权限。getfacl显示给定文件或目录的权限。

可以定义给定对象的默认值。

ACL 可以应用于用户或组,但管理组更容易。组的扩展性比不断添加或减少用户更好。

这是您要找的部分:

将 ACL 复制到默认 ACL

一旦 ACL 满足要求,就可以将其设置为默认值。默认值是可继承的,因此新目录将继承父目录的默认值。

getfacl -a /path/to/dir | setfacl -d -M- /path/to/dir

您确实需要acl在安装时添加选项。/etc/fstab添加acl到您的光盘的选项中。确保使用标签而不是 UUID。

LABEL="ExternalUsbDisc"   /media/usb-disc     ext4   defaults,acl   0   2

答案2

首先,我认为我们讨论的是改变所有者而不是权限。

当您复制文件时,它将在目标文件夹中重新创建。这就是为什么这些文件的所有者是您的帐户。您不能使用帐户 X 和所有者 Y 创建文件。

但是您当然可以在复制文件后更改文件的所有者。

以你的用户 X 身份输入:
chown <accountY>:<accountY> /path/to/file.test

或者递归更改文件夹及其内的所有文件的所有者:
chown -R <accountY>:<accountY> /path/to/folder

这将改变文件/文件夹的所有者和组。

相关内容