将目录从一个用户移动到另一个用户,保持正确的权限

Ion*_*zău 2 linux bash users permissions

假设我们必须对 users:alicebob.

现在 Bob 想将 Alice 的~/Documents目录移动到他的主文件夹中。

更新权限(从 Alice 到 Bob)的最佳工作流程是什么?

这意味着 Alice 对/home/alice/Documents/(递归的目录和文件)拥有的所有权限都将添加到 Bob /home/bob/Documents/(递归的目录和文件),并且 Alice 的权限将从 中删除/home/bob/Documents

小智 6

如果您使用 更改文件所有者chown,则 alice 的权限将转移给 bob。所以这是流程:

sudo mv ~bob/Documents ~bob/Documents.orig
sudo mv ~alice/Documents/ ~bob/Documents
sudo chown -PR bob ~bob/Documents
Run Code Online (Sandbox Code Playgroud)

编辑:

如果您还想覆盖该组,请使用

sudo chown -PR bob:bob ~bob/Documents
Run Code Online (Sandbox Code Playgroud)

或者:

sudo chown -PR bob: ~bob/Documents
Run Code Online (Sandbox Code Playgroud)

使用鲍勃的主要组。

但是,请注意,如果~alice/Documents具有非默认组权限,这可能会出现问题。在这种情况下,使用类似的东西可能会更好

sudo find ~bob/Documents -group alice -exec chown -h bob: {} +
Run Code Online (Sandbox Code Playgroud)

如果 ACL 正在使用中,您可能还需要检查它们。


Cos*_*tas 5

正如鲍勃:

mv ~bob/Documents ~bob/Documents.orig
cp --remove-destination --no-preserve=ownership -r ~alice/Documents/ ~bob/
sudo rm -fr ~alice/Documents/
Run Code Online (Sandbox Code Playgroud)