我不确定将文件权限设置为什么。
我理解这个概念,以及如何去做,但我不知道每个设置会产生什么样的后果。
选项读取,写入,执行,有三种不同的类别,我可以检查每个选项:所有者,群组,公共。
我的文件夹的默认设置似乎是drwxr-xr-x
或755
。我假设d
代表目录?
对于文件,标准通常为-rw-r--r--
或644
。
虽然我对确切知道权限编码的工作方式并不十分感兴趣,但我想知道每个选项的作用以及每个组的分离方式。
谁是所有者,谁是团体,谁是公众? 读取,写入和执行的权限到底是什么类型(所有者,组,公共)?
因此会有9个选项,我假设有9个用例。比如“如果您想让网站的访问者能够将文件上传到此文件夹,请public
允许write
。”
我还意识到,在尝试访问文件时,read
未授予public
权限会导致403。
那么9种不同的场景是什么,在文件和文件夹上给予或删除某些权限的后果是什么?
答案 0 :(得分:2)
基本上:
类别:
特权:
答案 1 :(得分:1)
所有者是创建该文件的用户,该组是所有者的主要群组,除非由chown
和chgrp
更改。文件所有者和组是您在说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 test
和chmod 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运行的用户名和组。