Linux 所有权和权限

Linux 所有权和权限

我有两个用户 testuser2 和 testuser1,他们的主目录分别为 /home/testuser2 和 /home/testuser1。我想在这两个用户之间共享目录 /home/testuser1/Videos/ 及其内容。我做了以下操作:

  1. 创建一个名为 ggg 的组,并将用户 testuser2 和 testuser1 添加到其中
  2. 将 /home/testuser1/Videos 的所有权从 testuser1:testuser1 更改为 testuser1:ggg
  3. 将 acl 设置为对 /home/testuser1/Videos 具有 rwx 权限的组 ggg
  4. 将 sgid 设置为目录 /home/testuser1/Videos

现在我在目录 /home/testuser2/Desktop/testuser1 内创建了一个到 /home/testuser1/Videos 的软链接,这样 testuser1 和 testuser2 都可以添加/编辑/删除目录。在测试过程中,我遇到了以下情况,希望向大家解释一下。

A)由 testuser1 复制文件:

我已经将文件从 /home/testuser1 (例如 examplefile1 testuser1:testuser1 644 )复制到 /home/testuser1/Videos 并且我可以看到该文件的所有权已成功更改为 testuser1:ggg。

1.如果有人将文件复制到我的目的地,我该如何自动将权限更改为我需要的权限(组权限为 rwx)?

  1. 如果我复制一个具有 444 权限的文件,那么 testuser2 将无法写入该文件。这是正常的,因为它是 444,但他可以删除它。怎么办?

B)由testuser1移动文件:

与复制相比,移动文件时,所有权不会更改为 testuser1:ggg。它保留 testuser1:testuser1 并保留实际权限。

  1. 我如何才能自动将权限和所有权更改为我需要的权限和所有权?
  2. 与复制的情况相同,如果文件具有只读权限,testuser2 可以删除文件,但是不能写入。为什么?

我已尽力解释。请告诉我 A 和 B 部分的答案。

答案1

答案:

A1) man umask
A2) chmod +x permits delete, but not overwrite, because of -w

B1) The owner of a newly-created file is the creator, obviously, but the group is the primary group as specified in /etc/passwd. The fourth field for a user in /etc/passwd is the GID of his primary group. Knowing this, you could change the primary group to what you want, and use umask to give it the permissions you desire.
B2) same as A2

相关内容