des*_*key 4 apache permissions file-permissions webdav
我无法理解如何在 WebDAV 设置上编辑文件。我已经正确设置了身份验证,并通过大量在线教程进行了验证,但有些文件.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>
Run Code Online (Sandbox Code Playgroud)
我也在文件中生成了正确的用户名,并且可以成功登录并查看所有文件。就像我说的,问题是某些文件无法读取和写入,罪魁祸首是.htaccess
和.gitignore
。
我已将所有文件的权限设置为664
,将所有文件夹的权限设置775
为。原因是这允许 PHP 正常读取/写入文件,并且我们的远程登录用户可以执行相同的操作而不会出现权限问题。user:group
xxx:www-data
xxx
我需要做一些具体的事情才能允许读取写入这些隐藏的点文件吗?我完全被难住了,因为我读过的大多数教程都告诉我,如果我不设置点文件的权限,那么root:root
它们将是可写的。我正在使用 Mac 连接到在 Ubuntu 上运行的 WebDAV 服务,如果这有什么区别的话
为了清楚起见,xxx
这个问题中的所有内容都是为了隐藏信息。
所以看来我可以使用下面的命令来允许访问特定文件
<Files .htaccess>
order allow,deny
deny from all
</Files>
Run Code Online (Sandbox Code Playgroud)
我忘记了.htaccess
默认情况下通过 HTTP 阻止文件。
编辑:
为了使所有文件在 webdav 环境中可写,并使用 Digest 安全身份验证,最终的工作设置是:
<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>
Run Code Online (Sandbox Code Playgroud)
我希望这对其他人有帮助。花了几天时间才在网上找到所有这些信息。
归档时间: |
|
查看次数: |
21896 次 |
最近记录: |