svn

2008-11-11 21 views
5

के लिए सिंगल रीड-ओनली उपयोगकर्ता मैं एक निजी svn सर्वर पर कुछ रखरखाव कर रहा हूं। प्रमाणीकरण को अपाचे मूल HTTP + mod_authz_svn के माध्यम से संभाला जाता है। मुझे ऐसा करने की ज़रूरत है ताकि प्रत्येक उपयोगकर्ता ने केवल पढ़ने के लिए उपयोगकर्ता को छोड़कर, पढ़ने/लिखने का उपयोग किया हो। केवल पढ़ने के लिए उपयोगकर्ता को अभी भी प्रमाणित करने की आवश्यकता है, हालांकि। मैंने अपनी authz कॉन्फ़िगरेशन फ़ाइल इस तरह सेट की है:svn

[/] 
* = rw 
read-only = r

लेकिन यह काम नहीं करता है। उपयोगकर्ता "केवल-पढ़ने" अभी भी परिवर्तन कर सकता है। मैं चीजों को केवल सभी के लिए पढ़ सकता हूं, लेकिन * बिट "ओवर-केवल" के लिए सेट करने का प्रयास कर रहा है।

Fwiw, अपाचे conf के प्रासंगिक टुकड़ा है:

 <Location /repos> 
    DAV svn 
    SVNPath ... 
    SVNIndexXSLT "/svnindex.xsl" 

    AuthzSVNAccessFile ... 

    AuthType Basic 
    AuthName ... 
    AuthUserFile ... 
    Require valid-user 
</Location> 

उत्तर

8

इस मामले में, केवल पढ़ने के लिए उपयोगकर्ता अभी भी रूप में यह भी * ग्रुप मैच लिखने की एक्सेस है।

आप जो चाहते हैं उसे प्राप्त करने का एक सुरक्षित तरीका केवल पढ़ने के अलावा सभी उपयोगकर्ताओं का समूह बनाना है, उदा। इस दस्तावेज नहीं है, और मैं परीक्षण नहीं किया -

[groups] 
all-but-ro = harry, sally, ... 

[/] 
@all-but-ro = rw 
read-only = r 

ऐसा नहीं है कि SVN ऊपर से नीचे तक मेल खाता हो सकता है (वैकल्पिक रूप से, आप बस पासवर्ड फ़ाइल से बाहर कई = rw लाइनों उत्पन्न हो सकता है) । तो

[/] 
read-only = r 
* = rw 
+0

+1: _Exactly_ जो मैं कहने जा रहा था :-) – alastairs

+0

मैंने रिवर्स मिलान करने की कोशिश की, काम नहीं करता है। क्या समूह को स्वचालित रूप से बनाने का कोई तरीका है? जब भी उपयोगकर्ता को सर्वर में जोड़ा जाता है तो मुझे इस फ़ाइल को पुनर्निर्माण नहीं करना पड़ेगा। – iconoplast

+0

यदि यह पूरी फ़ाइल है - इसे स्वचालित रूप से बनाने में समस्या क्या है? –

0

हममम कोशिश, पिछले पोस्ट एसीएल आदेश पर सही हो सकता है, लेकिन ...

मेरे विन्यास शामिल

AuthzSVNAccessFile "<path-to-svn-acl-file>" 

यह भी एक समस्या हो सकती है?