/home/userabc 之外的所有文件都归 root 所有吗?

/home/userabc 之外的所有文件都归 root 所有吗?

我正在为包管理器编写一个 tar 实现,我想知道是否可以跳过 tar 标头中用户的权限设置并保留默认情况下的内容,即编写文件的用户(在我的例子中为 root)。

这会带来问题吗?包管理器被设计为不在 /home 内写入任何内容。

答案1

最多但不是全部属于系统一部分的文件由 root 用户拥有。系统文件不属于 root 的情况很少见,因为拥有系统文件的用户可以修改它们,而这通常是不可取的。更常见的是,文件的所有者是团体除了 root 之外,还有模式 660 或 664 或 640。

可以设计一个 Unix 系统,其中所有系统文件(除了/dev/home以及包含用户数据的部分,/var例如邮箱和 crontab)都归 root 所有。不知道Arch Linux是不是这样。但不允许文件由不同的组拥有将极大地限制系统的安全保护,这是不可行的。所以无论如何你都需要记住组所有权。为什么不记住用户所有权呢?

答案2

答案是不。主目录之外的所有文件都不属于 root 所有。

由于多种原因(一些是历史原因以及一些与安全相关的原因),用户主目录之外的文件存在丰富且复杂的用户和组以及权限集。

然而,tar 实现有两种常见的模式,它们要么,

  1. 恢复文件和目录并将所有者设置为运行 tar 的人
  2. 根据 tar 文件中存储的权限设置恢复文件和目录

后者通常只有在您已经是 root 的情况下才可能实现。

相关内容