有人可以解释我的chmod权限,比如说我是五岁吗?

时间:2014-02-17 01:09:10

标签: apache file-permissions directory-structure

我不确定将文件权限设置为什么。

我理解这个概念,以及如何去做,但我不知道每个设置会产生什么样的后果。

选项读取,写入,执行,有三种不同的类别,我可以检查每个选项:所有者,群组,公共

我的文件夹的默认设置似乎是drwxr-xr-x755。我假设d代表目录?

对于文件,标准通常为-rw-r--r--644

虽然我对确切知道权限编码的工作方式并不十分感兴趣,但我想知道每个选项的作用以及每个组的分离方式。

谁是所有者,谁是团体,谁是公众? 读取,写入和执行的权限到底是什么类型(所有者,组,公共)?

因此会有9个选项,我假设有9个用例。比如“如果您想让网站的访问者能够将文件上传到此文件夹,请public允许write。”

我还意识到,在尝试访问文件时,read未授予public权限会导致403。

那么9种不同的场景是什么,在文件和文件夹上给予或删除某些权限的后果是什么?

2 个答案:

答案 0 :(得分:2)

基本上:

类别:

特权:

  • 读取: 能够查看文件
  • 写: 能够更改文件
  • 执行: 能够删除文件

答案 1 :(得分:1)

所有者是创建该文件的用户,该组是所有者的主要群组,除非由chownchgrp更改。文件所有者和组是您在说ls -l时可以看到的两个名称。在许多(但不是全部)系统中,每个用户的主要组由用户命名;因此,用户amadan将属于某个组amadan,在其他任何其他次要组中,他可能是也可能不是其成员。他创建的任何文件都是这样的:

-rw-r--r--  3 amadan  amadan    102 Feb 14 18:34 test

通常,Apache Web服务器将以用户www-data运行,同时拥有主要组www-data。如果您执行chgrp www-data testchmod 664 test,则会获得:

-rw-rw-r--  3 amadan  www-data  102 Feb 14 18:34 test

这意味着以下内容:

  • 用户amadan可以读取和写入文件。
  • www-data中的任何人(无论是主要组还是其中一个辅助组),在本例中是指Apache Web服务器,也可以读取和写入该文件。
  • amadan且不在www-data群组中的任何人都只能阅读该文件。

您可以通过groups amadan找出您属于哪些群组(显然,您自己的用户名代替:p)。您可以通过查看User或类似文件中的Group/etc/apache2/httpd.conf指令(因操作系统和Apache版本而异)来查看Apache运行的用户名和组。