禁止使用centos apache svn

禁止使用centos apache svn,apache,svn,centos7,Apache,Svn,Centos7,我使用的是centos 7,我安装了httpd、svn和mod_dav_svn,我可以通过访问apache my/etc/httpd/conf.modules.d/10-subversion.conf看起来像: LoadModule dav_svn_module modules/mod_dav_svn.so LoadModule authz_svn_module modules/mod_authz_svn.so LoadModule dontdothat_module module

我使用的是centos 7,我安装了httpd、svn和mod_dav_svn,我可以通过访问apache

my/etc/httpd/conf.modules.d/10-subversion.conf看起来像:

LoadModule dav_svn_module     modules/mod_dav_svn.so
LoadModule authz_svn_module   modules/mod_authz_svn.so
LoadModule dontdothat_module  modules/mod_dontdothat.so

<Location /svn>
DAV svn
SVNParentPath /svn
AuthName "SVN repo"
AuthType Basic
AuthUserFile /etc/svn/svn-auth
AuthzSVNAccessFile /svn/authz
Require valid-user
</Location>
然后通过编辑从/svn/repo/conf/authz复制的/svn/authz为用户设置用户权限

sudo cp /svn/repo/conf/authz /svn/authz
但是,当我访问时,它显示403禁止,您没有访问此服务器上的/svn/repo的权限

我的/svn目录是:

[frank@localhost svn]$ ls
authz  repo

[frank@localhost svn]$ ls -l
total 4

-rw-r--r--. 1 root   root   1123 Nov 12 11:08 authz
drwxr-xr-x. 6 apache apache   80 Nov 12 11:01 repo
/svn/authz

有什么问题吗

----11月14日更新-----

我启用了类似的日志记录

<Location /svn>    
DAV svn  
 …  
</Location>

CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
但是/svn/authz的权限是:

drwxr-xr-x。4 apache 41 11月13日22:16 svn

-rwxrwxrwx。1 apache 1120 11月12日22:58 authz

drwxr-xr-x。6 apache 80 11月12日11:01回购协议

然后通过编辑/svn/authz为用户设置用户权限

您应该仔细检查放入
authz
文件中的访问规则。应该有一个访问规则,例如

[repo:/]
* = r
*=r
代表所有人——只读。阅读中的访问规则和
authz
文件语法


顺便说一句,您可以启用日志记录并自己找出根本原因。阅读。

问题在于selinux

在我通过修改/svn的selinux安全上下文之后

sudo chcon-Rv–-type=httpd\u系统内容/svn


然后我可以访问svn。

我在文章末尾更新了/svn/authz,并阅读了您提供的基于路径的授权,似乎authz是正确的。我将按照您后面所说的启用日志记录,以查看根本原因,然后进行反馈。我按照您的链接所说的启用日志记录,/var/log/httpd下有svn_logfile,但没有内容,但是错误日志有,详细信息请参阅文章中的更新部分。只需做一些小的更改即可在Centos 7上执行“sudo chcon-Rv--type=httpd\u sys\u content\u t/svn”
<Location /svn>    
DAV svn  
 …  
</Location>

CustomLog logs/svn_logfile "%t %u %{SVN-ACTION}e" env=SVN-ACTION
[Mon Nov 14 22:32:15.789588 2016] [core:notice] [pid 6924] SELinux policy enabled; httpd running as context system_u:system_r:httpd_t:s0
[Mon Nov 14 22:32:15.791536 2016] [suexec:notice] [pid 6924] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
AH00558: httpd: Could not reliably determine the server's fully qualified domain name, using localhost.localdomain. Set the 'ServerName' directive globally to suppress this message
[Mon Nov 14 22:32:15.828814 2016] [auth_digest:notice] [pid 6924] AH01757: generating secret for digest authentication ...
[Mon Nov 14 22:32:15.830345 2016] [lbmethod_heartbeat:notice] [pid 6924] AH02282: No slotmem from mod_heartmonitor
[Mon Nov 14 22:32:15.842779 2016] [mpm_prefork:notice] [pid 6924] AH00163: Apache/2.4.6 (CentOS) SVN/1.7.14 configured -- resuming normal operations
[Mon Nov 14 22:32:15.842858 2016] [core:notice] [pid 6924] AH00094: Command line: '/usr/sbin/httpd -D FOREGROUND'
[Mon Nov 14 22:32:25.641415 2016] [authz_svn:error] [pid 6933] (13)Permission denied: [client ::1:60550] Failed to load the AuthzSVNAccessFile: Can't open file '/svn/authz': Permission denied
[Mon Nov 14 22:32:25.641504 2016] [authz_svn:error] [pid 6933] [client ::1:60550] Access denied: 'frank' GET repo:/
[repo:/]
* = r