Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/252.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 我是否需要设置;“集团”;使用chmod时的权限?_Php_File Permissions_Chmod - Fatal编程技术网

Php 我是否需要设置;“集团”;使用chmod时的权限?

Php 我是否需要设置;“集团”;使用chmod时的权限?,php,file-permissions,chmod,Php,File Permissions,Chmod,我需要为一个文件设置chmod,这样每个人都可以查看该文件,并且只有持有该文件的web服务器(或PHP脚本)可以覆盖它 对此,正确的chmod设置是什么?你能解释一下什么是团体吗?它们与我相关吗?通常,该文件应由web服务器用户拥有,或属于web服务器用户组。假设您的web服务器在www-data下运行,这意味着运行以下内容: chmod u+w file.txt # write access for the file's user chmod ugo+r file.txt

我需要为一个文件设置
chmod
,这样每个人都可以查看该文件,并且只有持有该文件的web服务器(或PHP脚本)可以覆盖它


对此,正确的
chmod
设置是什么?你能解释一下什么是团体吗?它们与我相关吗?

通常,该文件应由web服务器用户拥有,或属于web服务器用户组。假设您的web服务器在
www-data
下运行,这意味着运行以下内容:

chmod u+w file.txt        # write access for the file's user
chmod ugo+r file.txt      # read access for user, group, other
chown www-data file.txt   # change owner
或者这个:

chmod g+w file.txt        # write access for the file's group
chmod ugo+r file.txt      # read access for owner, group, other
chgrp www-data file.txt   # change group
如果您希望使文件可由所有者用户写入,则后者非常有用-如果您希望在您的正常帐户下重新同步文件,或者可能是
git pull
,这是很常见的

请注意,用户和组是不同的东西。上述示例利用了这样一个事实,即“www-data”是通过安装Apache创建的普通用户,而“www-data”是同时创建的普通组。是的,它们的名称相同,是两个不同的东西

你问什么是团体。它通常用作用户的一个类别,因此,例如,一所大学可能有称为“学生”和“职员”的组。用户可以添加到任意数量的组中,因此研究生可以同时添加到这两个组中,例如,因为他们符合两个类别的资格。然后,组成员身份允许系统管理员在全局基础上授予读写权限,而无需担心单独重置用户

让web服务器可写的内容值得注意,特别是普通文档根目录中的文件和文件夹。如果您的web应用程序中存在漏洞,您不希望用户能够通过web服务器创建PHP文件,否则可能会出现任意远程执行


为了防止这种情况,如果您(例如)只是上传文本文件,请在文档根目录之外进行上传,这样它们就无法远程执行。如果您正在上载图像(需要在文档根目录中),请禁用该目录的PHP引擎。

看起来像644 chmod,但信息太少,很难说。是组始终相关,除非您选择777.:)也许最大的问题是:什么是团体?@Jack先生,好吧,我在谷歌上搜索了没有运气我能做的事情。唐克。我将图像上传到服务器(php),有时还会覆盖(也通过php)。因此,如果我在上传后将文件设置为chmod($file,0646)。。只有服务器/脚本才能更改/覆盖它吗?646=为所有者读/写,为组读,为“其他”读/写。因此,在该服务器上拥有Unix帐户的其他用户将能够读/写它。但是,如果你信任盒子上的其他用户,你会没事的。这是共享主机吗?如果是这样,最后一个八进制应该是零。此外,如果Web服务器为所有用户运行为同一用户,则需要考虑更多的安全问题。(我不是共享主机权限的专家,因为确切的配置从一个到另一个不同。如果您正主持一个严肃的服务,我倾向于推荐一个VPS,因为您有更少的安全问题需要担心)。.是的,它是一个共享主机。嗯,好的,我会做一些测试。。但实际上,主机上的其他用户永远不应该访问其他人的文件。我看不出会发生什么(如果主持人只是很支持的话)不用担心。要更仔细地模拟环境,请考虑使用VungAutor,它默认使用Ubuntu在ValualBox上运行。设置起来非常容易。