svn:无法打开文件‘/var/www/svn/repo/db/txn-current-lock’:权限被拒绝

svn:无法打开文件‘/var/www/svn/repo/db/txn-current-lock’:权限被拒绝

在 Fedora 操作系统上,我无法访问 SVN Repo 并通过 HTTP 提交。

这是我的配置文件

/etc/httpd/conf.d/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 /var/www/svn
   SVNListParentPath On   
   SVNPathAuthz Off
   AuthType Basic
   AuthName "myRepos"
   AuthUserFile /etc/svn-pass
   AuthzSVNAccessFile /etc/svn-authz   
   Require valid-user
</Location>

错误:

共享项目失败。svn: 无法打开文件‘/var/www/svn/repo/db/txn-current-lock’: 权限被拒绝svn: MKACTIVITY ‘/svn/repo/!svn/act/4b515a33-4801-0010-8d84-bddd16ee6e1b’:500 内部服务器错误 (http://example.com:8080

目录如下:

./repo/db: total 56K drwxr-sr-x. 6 apache apache 4.0K Sep  1 01:03 ./ drwxr-xr-x. 6 apache apache 4.0K Aug 30 23:20 ../
-rw-r--r--. 1 apache apache    2 Sep  1 01:03 current
-r--r--r--. 1 apache apache   22 Aug 30 23:20 format
-rw-r--r--. 1 apache apache 2.0K Aug 30 23:20 fsfs.conf
-rw-r--r--. 1 apache apache    5 Aug 30 23:20 fs-type
-rw-r--r--. 1 apache apache    2 Aug 30 23:20 min-unpacked-rev
-rw-r--r--. 1 apache apache 4.0K Aug 30 23:24 rep-cache.db drwxr-sr-x. 3 apache apache 4.0K Aug 30 23:20 revprops/ drwxr-sr-x. 3 apache apache 4.0K Aug 30 23:20 revs/ drwxr-sr-x. 2 apache apache 4.0K Sep  1 01:03 transactions/
-rw-r--r--. 1 apache apache    2 Sep  1 01:03 txn-current
-rw-r--r--. 1 apache apache    0 Aug 30 23:20 txn-current-lock drwxr-sr-x. 2 apache apache 4.0K Sep  1 01:03 txn-protorevs/
-rw-r--r--. 1 apache apache   37 Aug 30 23:20 uuid
-rw-r--r--. 1 apache apache    0 Aug 30 23:20 write-lock

./repo/db: drwxr-sr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 ./ drwxr-xr-x. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 ../ -rw-r--r--. apache apache system_u:object_r:httpd_sys_content_t:s0 当前 -r--r--r--. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 格式 -rw-r--r--. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 fsfs.conf -rw-r--r--. apache apache unconfined_u:object_r:httpd_sys_content_t:s0 fs-type -rw-r--r--。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 min-unpacked-rev -rw-r--r--。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 rep-cache.db drwxr-sr-x。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 revprops/drwxr-sr-x。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 revs/drwxr-sr-x。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 事务/-rw-r--r--。apache apache system_u:object_r:httpd_sys_content_t:s0 txn-current -rw-r--r--。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 txn-current-lock drwxr-sr-x。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 txn-protorevs/-rw-r--r--。apache apache unconfined_u:object_r:httpd_sys_content_t:s0 uuid -rw-r--r--。 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 写锁

答案1

SELinux problem again

这是权限问题。但不是 apache 用户的“经典”读/写权限,而是 selinux 权限。

Apache 无法写入标记为 httpd_sys_content_t 的文件,这些文件只能由 apache 读取。

您有两种选择:

将 svn 存储库文件标记为 httpd_sys_content_rw_t:

   1- chcon -R -t httpd_sys_content_rw_t /path/to/your/svn/repo

设置 selinux 布尔值 h​​ttpd_unified --> on

  2 - setsebool -P httpd_unified=1

首选第二种可能性。

相关内容