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

时间:2012-06-28 13:37:55

标签: 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,将所有文件夹设置为775user:group xxx:www-data。原因是这允许PHP读取/写入文件正常,而我们的远程登录用户xxx也可以在没有权限问题的情况下执行相同操作。

我是否需要做一些具体的事情才能阅读这些隐藏的点文件?我完全难过,因为我读过的大多数教程都告诉我,如果我没有将点文件的权限设置为root:root,那么它们将是可写的。我正在使用Mac连接到在Ubuntu上运行的WebDAV服务,如果这有任何区别

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

2 个答案:

答案 0 :(得分:3)

所以我似乎可以使用下面的

来访问特定文件
<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>

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

答案 1 :(得分:0)

还要检查/ data / www /本身的权限。对于apache用户,它应该是可写的。