权限设置正确,但对目录的访问仍然对其他人开放

jon*_*ich 3 apache-2.2

我想对用户(站点访问者)完全隐藏的目录是这样的:

drwx------ 2 apache apache 4096 Aug 18 19:01 token

但是,如果我将浏览器指向该token目录,则可以看到该目录中的每个文件并打开它们。我在这里缺少什么?

我只希望 apache(我的服务器)能够与此文件夹交互,因为有一个 cron 作业需要它具有读取、写入和执行权限。除此之外,不需要任何人或任何东西来访问该目录。

Gen*_*ene 5

从它的声音来看,您的 Web 服务器正在为该目录创建一个目录列表,而您不希望它这样做。

在 Apache 配置中禁用该目录的索引,例如:

<Directory /path/to/directory>
  Options -Indexes
</Directory>
Run Code Online (Sandbox Code Playgroud)

或者+Indexes,如果您根本不想启用目录列表,请搜索您的 apache 配置设置并删除它。

有关更多信息,请参阅 Apache HTTPD 文档:

https://wiki.apache.org/httpd/DirectoryListings

如果您想从系统外部完全禁用与该文件夹的交互,您可以使用访问控制指令来限制访问。例如:

<Directory /path/to/directory>
  Order deny,allow
  Deny from all
  Allow from localhost
</Directory>
Run Code Online (Sandbox Code Playgroud)

有关访问控制的更多信息:

http://httpd.apache.org/docs/2.2/howto/access.html