首页 文章

apache root中的文件权限为770,仍可查看

提问于
浏览
0

我在这里看到很多关于由于LAMP权限而无法访问文件的问题,但没有关于http客户端使用权限使文件无法访问的问题 .

我的Apache2根文件夹中有文件和文件夹,我不希望人们通过浏览器或其他外部方式访问 . 我将权限设置为770,但这似乎不够 . 外部用户是否以apache用户身份访问文件?我在Ubuntu Server下运行LAMP,对默认设置几乎没有修改,因此我的apache用户是www-data,group是:www-data,apache root是/ var / www .

我有一个/ var / www / _private文件夹,其文件具有770权限和相同的权限 . 但是,如果我通过浏览器访问这些文件,它们仍然可以查看 . 客户端是否以www-data用户身份访问我的文件?如果是这样,我该如何纠正?

我已经在托管设置上工作,将“其他”权限设置为0足以拒绝外部直接访问文件 . 我是否需要安装一些额外的模块才能获得此功能?

注意:我仍然需要可访问客户端的PHP脚本来通过includes,fopen等访问这些文件...

1 回答

  • 0

    好吧,对,770意味着文件的所有者和组可以读取,写入和执行它 . 我猜测Apache是该文件的所有者,因此允许它访问它并向全世界开放 .

    为什么不使用 .htaccess 文件,而不是修改服务器上的权限,并可能导致文件的可访问性受到损害 . 它将指示Apache在某些情况下执行操作,例如拒绝访问文件 . 只需在网站的根目录中创建 .htaccess 文件即可

    <Files {your file name here}>
    deny from all
    </Files>
    

    并且你将拒绝所有人使用Apache访问它 .

    如果你想拒绝整个目录:

    <Directory /var/www/_private>
       Order Deny,allow
       Deny from all
    </Directory>
    

相关问题