我想对用户(网站访问者)完全隐藏的目录是这样的:
drwx------ 2 apache apache 4096 Aug 18 19:01 token
但是,如果我将浏览器指向该token
目录,我可以看到目录中的每个文件并打开它们。我在这里遗漏了什么?
我只希望 apache(我的服务器)能够与此文件夹交互,因为有一个 cron 作业需要它具有读取、写入和执行的权限。除此之外,不需要任何人或任何事物访问该目录。
答案1
听起来您的网络服务器正在为该目录创建目录列表,但您不希望它这样做。
在 Apache 配置中禁用该目录的索引,例如:
<Directory /path/to/directory>
Options -Indexes
</Directory>
+Indexes
或者,如果您根本不想启用目录列表,请搜索设置了的 apache 配置并将其删除。
有关更多信息,请参阅 Apache HTTPD 文档:
https://wiki.apache.org/httpd/DirectoryListings
如果您想要完全禁止系统外部与该文件夹的交互,则可以使用访问控制指令来限制访问。例如:
<Directory /path/to/directory>
Order deny,allow
Deny from all
Allow from localhost
</Directory>
有关访问控制的更多信息: