在创建的每个文件夹上设置777权限

时间:2015-05-22 13:27:21

标签: php linux

我有一个文件夹data,我在其中以编程方式在其中创建新文件夹。这就是为什么我希望所有这些文件夹都具有777权限 - 因为我之后也会在这些文件夹中创建文件。

我该怎么做?

我尝试chmod 777 data,尝试了chmod -R 777 data - 没有任何作用。数据文件夹具有777权限,但是当我在里面创建新文件夹时,这个新文件夹没有777权限。

我该如何解决这个问题?

3 个答案:

答案 0 :(得分:1)

使用php chmod功能:

  chmod($directory, 0777);

答案 1 :(得分:0)

在php级别或apache级别更改umask

http://php.net/manual/en/function.umask.php Setting the umask of the Apache user

虽然你很可能只想让另一个组读入,但在这种情况下,在文件夹上设置组粘性位,所有文件将使用与父组相同的组创建

答案 2 :(得分:0)

了解有关您的应用程序的更多信息会很有帮助,因为制作整个目录结构777通常是一个非常糟糕的主意。

以下是关于如何使事情变得更细粒度的一些建议:

'粘性'位。

这是在/ tmp文件夹中使用的,允许任何人和每个人创建文件,但只有所有者或root可以访问或删除创建的内容。 Here is a link that discusses it.

POSIX功能

Posix Capabilities以编程方式提升您的应用程序,为其提供root权限的子集。 Capabilities FAQ

搜索这两个想法可能会为您提供更多的想法,让您了解如何使您的应用程序按照您想要的方式运行,但是以安全的方式。