apache - 如何允许通过 Apache 和 WebDAV 写入文件

标签 apache permissions file-permissions webdav

我无法理解如何在 WebDAV 设置上编辑文件。我已经正确设置了 Auth,正如大量在线教程所验证的那样,但是有一些文件,如 .htaccess,我无法编辑。

VirtualHost设置的内容是

<VirtualHost *:80>

        ServerAdmin xxx
        ServerName xxx

        DocumentRoot /data/www/vhosts/xxx
        <Directory /data/www/vhosts/xxx>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        <Location />
                DAV On
                AuthType Basic
                AuthName "WebDAV Access"
                AuthUserFile /data/www/.htpasswd-webdav
                Require valid-user
        </Location>

</VirtualHost>

我也在文件中生成了正确的用户名,我可以成功登录并看到所有文件。就像我说的,问题是某些文件不可读和不可写,罪魁祸首是 .htaccess.gitignore

我已将所有文件的权限设置为 664 并将所有文件夹的权限设置为 775 以及 xxx 的 user:group: www-数据。原因是这允许 PHP 读取/写入文件,并且我们的远程登录用户 xxx 可以在没有权限问题的情况下执行相同的操作。

我需要做些什么来允许读写这些隐藏的点文件吗?我完全被难住了,因为我读过的大多数教程都告诉我,如果我不将点文件的权限设置为 root:root 那么它们将是可写的。我正在使用 Mac 连接到在 Ubuntu 上运行的 WebDAV 服务,如果这有什么不同的话

为了清楚起见,这个问题中所有的xxx都是为了隐藏信息。

最佳答案

所以看来我可以使用下面的方法允许访问特定文件

<Files .htaccess>
 order allow,deny
 deny from all
</Files>

我忘记了默认情况下 .htaccess 文件是通过 HTTP 阻止的。

编辑:

最终的工作设置,使所有文件在 webdav 环境中可写,具有摘要安全身份验证是:

<VirtualHost *:80>

        ServerAdmin xxx
        ServerName www.domain.name

        DocumentRoot xxx
        <Directory xxx>
                Options Indexes MultiViews
                AllowOverride None
                Order allow,deny
                allow from all
        </Directory>

        <FilesMatch "\.(htaccess|php)$">
        Order allow,deny
        allow from all
        ForceType text/plain
    </FilesMatch>

        <Location />
                DAV On

                AuthType Digest
                AuthName "Webdav Access"
        AuthDigestDomain / http://www.domain.name/

        AuthDigestProvider file
                AuthUserFile /data/www/digest.users
                Require valid-user

        php_value engine off
        </Location>

</VirtualHost>

我希望这对其他人有帮助。花了好几天时间才在网上找到所有这些信息。

关于apache - 如何允许通过 Apache 和 WebDAV 写入文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11245937/

相关文章:

c# - 如何在 .NET Core 中修改文件访问控制

php - fopen()/fputcsv() : error

web-services - 使用 mod_jk 将请求从 apache 映射到 tomcat

java - Android6.0 WifiManager.getScanResults()

linux - 让svn保持文件权限

permissions - 是否可以在没有管理权限的情况下写入 NSIS 卸载信息?

C++ 密码,根权限

java - Hibernate 插件不可用

java - 处理一个节点(4节点集群)ElasticSearch的客户端http通信时捕获到异常

php - UTF-8贯穿始终