Apache2 目录访问

问题描述 投票:0回答:0

我想知道在 Ubuntu 上的 Apache2 中限制每个用户访问目录的最佳方法是什么?如果我使用 .htpasswd 来处理用户并创建一个与该用户同名的目录,那么让我更好地解释一下我只希望该用户能够访问他们的目录,而不是其他人,即使他们在同一个文件夹。示例:/var/www/html/admins/john & /var/www/html/admins/sarah john 不应该能够看到 sarahs 目录。这怎么能动态地完成?

我正在尝试这样的事情,但最终没有成功。我是 apache2 的新手所以请原谅我的无知。

<Directory /var/www/html/admins>
    AuthType Basic
    AuthName "Restricted Area"
    AuthUserFile /etc/apache2/.htpasswd
    Require group admins
    
    RewriteEngine On
    RewriteCond %{REQUEST_URI} ^/user/([^/]+)
    RewriteRule .* - [E=USER_DIR:/var/www/html/%1]
    
    <RequireAny>
        # e.g. /var/www/html/user1 can be accessed by user1, but not by user2 or user3
        Require expr "%{REMOTE_USER} == %{ENV:USER_DIR} || %{REQUEST_URI} =~ m#^/user/[^/]+$#"
        Require all granted
    </RequireAny>
</Directory>
apache permissions apache2 config
© www.soinside.com 2019 - 2024. All rights reserved.