linux - 了解 Unix 所有者和 chmod 777

标签 linux unix file-management

据我所知,Unix 有 3 个级别的所有权:所有者、组和其他。所有者是创建文件的人,稍后可以使用“chown”移动此所有权。但是,我对将 chmod 777 更改为“其他”或“组”感到困惑。

在一个文件上执行前面的命令也会让组/other 中的用户拥有与所有者相同的权限。因此,

  1. 我的理解是否正确:一个文件可以有多个所有者?
  2. 如果 chmod 777 可以帮助完成相同的任务,那么 chown 有什么用?
  3. “chmod 777 组”中的用户可以通过命令 chmod u=r filename 限制实际所有者的访问吗?

最佳答案

  1. 该文件只能有“1 个所有者”,但如果您希望有多个“所有者”,这就是组的用武之地。如果 alice 和 john 是名为“hello”的组的一部分,而组“hello”是指定为组所有者,则 alice 和 john 是文件的所有者(作为组的一部分)。然而,在传统意义上,不,只有 1 个所有者。我经常将根保留为指定所有者,然后根据需要合并组。
  2. chmod 用于更改实际文件的权限。当您执行 chmod 777 时,您允许所有者、组和其他人进行 RWX(读、写、执行)访问。它不会取得同样的成功,因为 chmod 实际上并没有改变 chown 的所有权。所以 chmod 是指定义谁可以对文件做什么,chown 是确定谁拥有该文件。
  3. 不,他们不能更改,因为他们不是文件的所有者,但作为组的“成员”是所有者。该命令实际上是 chmod u-r。 “-”(减号)删除访问权限,“+”(加号)添加。

关于linux - 了解 Unix 所有者和 chmod 777,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47234661/

相关文章:

linux - 带有 Yocto 的 Java - 没有匹配的 bb 文件

c - 不完全是先进先出

java.lang.ArrayIndexOutOfBoundsException :10 even though the array can go up to 10

ios - 将文档存储在不会随应用程序一起删除的位置

ios - iOS应用程序在Xcode控制台以外的地方记录日志

linux - 32位Linux汇编代码

objective-c - 是否可以在 Linux 上运行的应用程序中使用 Cocoa 类

python在centos上更新到2.7.13

c - 为什么我的父进程没有等待第二次? C/Unix

linux - 为什么 "grep"在此示例中表现不同?