当我将文件复制到 USB 磁盘或同一磁盘上的另一个帐户时,权限不会更改为目标。例如,当我将文件从帐户 X 复制到帐户 Y 的文件夹时,文件的权限仍属于帐户 X。
我喜欢复制文件并将权限更改为帐户 Y 的权限。
我该怎么做呢?
答案1
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
这将改变文件/文件夹的所有者和组。