Unix 用户和权限以及它们如何与 Web 文件交互

Unix 用户和权限以及它们如何与 Web 文件交互

当你在 Linux 中发出 ls 命令时,你会得到这样的结果:

drwxr--r--   1 fred  editors   4096  drafts
-rw-r--r--   1 fred  editors  30405  file1.php
-r-xr-xr-x   1 fred  fred      8460  file2.php

我知道 rwxrwxrwx 是当前用户的读、写和执行权限。而且我认为我知道“fred”是拥有该文件的用户。因此我假设 fred 可以写入 file1,但其他人则不能。但是额外的“editors”位是什么,file1 和 file2 之间有什么区别,其中一个拥有“fred editors”的所有权,而另一个拥有“fred fred”的所有权?

此外,如果 Web 用户连接到其中一个文件,他们的用户名是什么?在哪里决定?如果服务器决定从 Web 连接的用户是 fred,这是否意味着任何 Web 用户都可以写入 file1?

欢迎提供任何信息,我正在研究这个问题,但有点困惑。谢谢

答案1

第二个字段 editors 是“组”。没有两个用户拥有相同的用户名,但多个用户可以属于同一个组。使用组可以将权限应用于多个用户。对于 file1 和 file2,实际上没有区别,因为“组”权限和“其他”权限是相同的。但是,如果您有 rwxr-----,那么具有“editors”的那个将允许所有编辑者读取文件,而“fred”可以读取和写入,而第二个将只给予 fred 读/写/执行权限,而其他人将无法执行任何操作(假设组“fred”仅包括 fred,通常情况如此...为了简化权限机制,通常每个用户都有一个对应的组,只有他们属于该组,以防未使用组)。

答案2

“编辑”是 fred 所属的组。同一组中的其他人共享相同的组权限。这样就可以向一组不同的用户授予读取、写入或执行权限。

Web 用户的用户名与正在运行的 Web 服务器进程关联的用户名相同(通常 - 这在某种程度上是可配置的)。

是的,如果服务器以用户“fred”的身份运行,则访问该文件的任何人都拥有写权限。

有关 unix 组的详细信息,请参阅维基百科中有关群组标识符的条目

相关内容