2015-03-27 19 views
8

mam skonfigurowany mój serwer svn na apache2 tak:Dziwne zachowanie mod_authz_svn

<Location /svn_test> 
    DAV svn 
    SVNParentPath /path/to/SvnTest 
    AuthType Basic 
    AuthName "Subversion repository" 
    AuthUserFile "/path/to/passwd" 
    AuthzSVNAccessFile "/path/to/authz" 
    Require valid-user 
    SVNAdvertiseV2Protocol Off 
    AuthzSVNAnonymous Off 
</Location> 

I authz plik skonfigurowany tak:

[groups] 
g=hy 

[test:/] 
hy=r 
*= 

[test:/subdir] 
hy=r 
*= 

[test:/subdir1] 
hy=rw 
*= 

Problem polega na tym, chcę kontrolować podkat-tych uprawnienia oddzielne od innych katalogów, ale jeśli zmienię uprawnienia z subdir1 na "rw", mogę napisać do podkatalogu, a jeśli zmienię uprawnienia z subdir1 na "r", uprawnienia podkatalogu staną się "r" zgodnie z oczekiwaniami.

W rzeczywistości, jeśli zmienię zezwolenie dowolnego katalogu na "rw", katalogi, które chcę, aby były tylko do odczytu, staną się zapisywalne.

Wkleiłem kilka dzienników serwera Apache poniżej, na wypadek, gdyby było to pomocne.

Everytime I restart apache2, to narzeka wersji niedopasowanie Pythona, ale mimo, że wszystko jest normalne, jestem pewien, czy to jest istotne:

[Fri Mar 27 15:55:44.381138 2015] [mpm_worker:notice] [pid 10693:tid 140245999884160] AH00295: caught SIGTERM, shutting down 
[Fri Mar 27 15:55:45.111049 2015] [:error] [pid 13438:tid 139851301021568] python_init: Python version mismatch, expected '2.7.5+', found '2.7.4'. 
[Fri Mar 27 15:55:45.111523 2015] [:error] [pid 13438:tid 139851301021568] python_init: Python executable found '/usr/bin/python'. 
[Fri Mar 27 15:55:45.111556 2015] [:error] [pid 13438:tid 139851301021568] python_init: Python path being used '/usr/lib/python2.7/:/usr/lib/python2.7/plat-x86_64-linux-gnu:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload'. 
[Fri Mar 27 15:55:45.111585 2015] [:notice] [pid 13438:tid 139851301021568] mod_python: Creating 8 session mutexes based on 6 max processes and 25 max threads. 
[Fri Mar 27 15:55:45.111600 2015] [:notice] [pid 13438:tid 139851301021568] mod_python: using mutex_directory /tmp 
[Fri Mar 27 15:55:45.122215 2015] [mpm_worker:notice] [pid 13438:tid 139851301021568] AH00292: Apache/2.4.6 (Ubuntu) SVN/1.7.9 mod_python/3.3.1 Python/2.7.4 configured -- resuming normal operations 
[Fri Mar 27 15:55:45.122280 2015] [core:notice] [pid 13438:tid 139851301021568] AH00094: Command line: '/usr/sbin/apache2' 

Odpowiedz

3

http://svnbook.red-bean.com/en/1.7/svn.serverconfig.pathbasedauthz.html:

By domyślnie nikt nie ma żadnego dostępu do repozytorium.

Nie trzeba więc jawnie odmawiać dostępu do ścieżek.

bym przepisać swój config następująco:

[groups] 
g = hy 

[test:/] 
hy = r 

# Permissions are inherited from parent to child directory 
# and hy already has read access to the root of the repo and its subdirectories, 
# so this can be skipped: 
#[test:/subdir] 
#hy = r 

[test:/subdir1] 
hy = rw