通过.htaccess文件保护目录而不具有root权限

时间:2014-10-02 08:27:39

标签: .htaccess apache2 basic-authentication user-permissions .htpasswd

目前我尝试通过.htaccess和基本身份验证阻止访问我的apache2网络服务器上的目录:

AuthType Basic
AuthName "Private"
AuthUserFile ?/.htpasswd
require valid-user

假设目录路径为/foo/bar,因此.htacccess以及.htpasswd位于/foo/bar/.htaccess/foo/bar/.htpasswd下。

/foo/bar/.htpasswd的绝对寻址不起作用。我的用户帐户无权访问/

我已经尝试从目录中解决它。但是apache2解析了apache2根目录中的相对地址,即/etc/apache2/

实际上我只能访问/foo/bar内的内容。我也无法控制apache2。

问题:如何在给定限制下解决.htpasswd的{​​{1}}文件?

2 个答案:

答案 0 :(得分:2)

无法访问该文件只是意味着您的密码文件的完整路径不正确。

它需要是完整的系统路径,即

AuthType Basic
AuthName "Private"
AuthUserFile /home/jsmith/foo/bar/.htpasswd
require valid-user

答案 1 :(得分:0)

有几种方法可以访问.HTACCESS文件,以下是阻止访问的方法。

应用低权限(忽略此权限,因为它需要root权限)

权限的基本指导很简单,访问难度越大。良好的经验法则是在性能或功能不受影响的情况下尽可能降低数量。对于大多数用户,将其设置为640将授予您所需的访问级别。

添加.HTACCESS指令

这里要注意的重要一点是,只有在攻击是外部攻击时才有效。这不会保护您免受内部攻击(例如,如果整个cPanel accout被黑客攻击) 这是您可以使用的.htaccess指令:

保护HTACCESS

订单拒绝,允许 全部否认

注意:这仅保护文件免受外部访问。

  • 禁用目录浏览

如果您不想让访问者浏览整个目录,只需在.htaccess的WordPress博客根目录中添加2行。

禁用目录浏览

选项All -Indexes