ฉันจะเพิ่มผู้ใช้ใน SVN ได้อย่างไร


12

ปรับปรุง # 3: ฉันคิดว่าฉันพบมัน
/etc/httpd/conf.d/subversion.conf

<Location /repos>
        DAV svn
        SVNPath /var/www/svn/repos
        AuthType Basic
        AuthName "Subversion repos"
        AuthUserFile /etc/svn-auth-conf
        Require valid-user
</Location>

svn-auth-conf อยู่ในรูปแบบของ

user1:$apr1$randome letters ... $random letters and numbers

ฉันรู้สึกว่าฉันใช้เครื่องมือบรรทัดคำสั่งเพื่อเพิ่มผู้ใช้ แต่ฉันจำไม่ได้ว่าอะไร

ปรับปรุง # 2: ค้นหา http.conf ให้ผลลัพธ์เหล่านี้

/usr/share/logwatch/default.conf/logfiles/http.conf
/usr/share/logwatch/default.conf/services/http.conf

ฉันไม่เห็นอะไรเลยทั้งสองอย่างที่ดูเกี่ยวข้องกับการโค่นล้ม ฉันสามารถโพสต์ไฟล์ที่นี่หากมันจะช่วย

คำถามเดิม:

ไม่กี่ปีที่ผ่านมาฉันติดตั้งและตั้งค่าการโค่นล้ม ฉันจำไม่ได้ว่าฉันเพิ่มผู้ใช้อย่างไร ฉันต้องเพิ่มอีกคนตอนนี้ แต่เมื่อฉันตรวจสอบpasswdไฟล์นั้นไม่มีผู้ใช้ที่กำหนดไว้และไม่มีอะไรที่ตั้งไว้ในsvnserve.confไฟล์ - ทั้งคู่มีทุกสิ่งที่คอมเม้นท์ นั่นเป็นวิธีเดียวที่ฉันสามารถค้นหาเพื่อเพิ่มผู้ใช้ผ่านทาง Google ดังนั้นฉันจึงลอง:

passwd

user1 = password1
user2 = password2

svnserve.conf

anon-access = none
auth-access = write
pasword-db = passwd
authz-db - authz
realm = repos

แต่ฉันยังสามารถเข้าถึงได้ด้วยuser1แม้ว่าuser1จะไม่ใช่ผู้ใช้บนเซิร์ฟเวอร์ linux มีวิธีอื่นในการเพิ่มผู้ใช้หรือฉันมีสิ่งผิดปกติในการกำหนดค่าของฉันหรือไม่?

อัปเดต:

ฉันได้เพิ่มบรรทัดต่อไปนี้ในไฟล์ svnserve.conf ของฉัน

authz-db = authz

จากนั้นไฟล์ authz ของฉันจะเป็นแบบนี้

authz [กลุ่ม] devs = user1, user2

[repos:/]
devs = rw

ยังไม่ทำงาน รหัสผ่านสำหรับ user1 นั้นแตกต่างจากรหัสผ่านที่ฉันใช้เพื่อเข้าสู่ระบบ ดังนั้นฉันคิดว่าการโค่นล้มไม่ได้ใช้สิ่งนั้นสำหรับการพิสูจน์ตัวตนเลย โดยเฉพาะอย่างยิ่งเมื่อไฟล์นั้นว่างเปล่ามาก่อนและฉันก็ยังสามารถเข้าสู่ระบบได้ มีวิธีใดบ้างเพื่อให้แน่ใจว่าใช้ไฟล์ svnserve, passwd, authz สำหรับการตรวจสอบความถูกต้อง? มีไฟล์ปรับแต่งอื่นอยู่ที่ไหน?

คำตอบ:


8

การรับรองความถูกต้องการโค่นล้มมักจะมีสองส่วน แรกคือที่เก็บรหัสผ่านบางชนิด ประการที่สองคือรายการควบคุมการเข้าถึง รายการรหัสผ่านใช้สำหรับตรวจสอบสิทธิ์ผู้ใช้และตรวจสอบรหัสผ่านของพวกเขา แต่คุณต้องกำหนดว่าผู้ใช้รายใดที่สามารถเข้าถึงทรัพยากรใดได้บ้าง

มีที่เก็บรหัสผ่านหลายประเภท ฉันไม่คุ้นเคยกับประเภทpasswdฉันใช้ประเภทhtpasswdที่ใช้ไฟล์ผู้ใช้ / รหัสผ่านเดียวกันกับที่ apache ใช้สำหรับการพิสูจน์ตัวตนผู้ใช้ htpasswd .htpasswd usernameฉันจะเพิ่มผู้ใช้ไฟล์นี้ด้วย ดูเหมือนว่าคุณอาจทำขั้นตอนนี้ถูกต้องสำหรับประเภทรหัสผ่านของคุณ

ส่วนที่สองคือ ACL การโค่นล้มควรมีไฟล์ชื่อaccessที่ไหนสักแห่งพร้อมส่วนสำหรับที่เก็บของคุณแต่ละแห่ง คุณจะต้องเพิ่มบรรทัดใต้ที่เก็บที่คุณต้องการเข้าถึงด้วยusername = rwเพื่อให้สิทธิ์การอ่าน / เขียนแก่ผู้ใช้นั้นในที่เก็บ


ฉันจะลองดูเมื่อฉันกลับถึงบ้าน ฟังดูคุ้นหู
กอตต์

ฉันไม่คิดว่าเป็นอย่างนั้น ไม่มีไฟล์. htpasswd บนเซิร์ฟเวอร์ของฉัน
กอตต์

6

การกำหนดค่าเซิร์ฟเวอร์ SVN (ส่วนใหญ่) ประกอบด้วยสามไฟล์:

  • authz
  • passwd
  • svnserve.conf นี่คือไฟล์หลัก (authz-db = authz)

ดังนั้นคุณเพียงแค่ให้ไฟล์ config สองไฟล์แก่เราโปรดตรวจสอบว่าไฟล์ authz มี:

#[the_name_of_repository:/path_in_that_repository]
[test:/]
user1 = rw
user2 = rw

สำหรับการทดสอบโครงการที่คุณต้องการอนุญาตการเข้าถึง


ฉันลองสิ่งนี้มันไม่ทำงาน รหัสผ่านที่ฉันใช้เพื่อเข้าสู่ระบบเนื่องจาก user1 นั้นแตกต่างจากที่ฉันมีในไฟล์ passwd ดังนั้นฉันไม่คิดว่ามันจะใช้งานได้เลย
กอตต์

โปรดตรวจสอบว่าคุณกำลังใช้ไฟล์กำหนดค่าที่ถูกต้อง: อะไรคือผลลัพธ์สำหรับps aux|grep svn
Sergey

และอีกหนึ่งคำถาม คุณจะรับโครงสร้างไดเรกทอรี repos ของคุณได้อย่างไร (เซิร์ฟเวอร์ svn: // หรือ throught http)
Sergey

root 19578 0.0 0.3 4016 664 tty1 R+ 05:15 0:00 grep svn
กอตต์

ผ่านเซิร์ฟเวอร์ http
กอตต์

4
## Create testuser ##
htpasswd -m /etc/svn-auth-users testuser

New password:

Re-type new password:

Adding password for user testuser2

หมายเหตุ: ใช้ไฟล์และชื่อพา ธ เดียวกันกับที่ใช้ในsubversion.confไฟล์ ตัวอย่างนี้ใช้/etc/svn-auth-usersไฟล์



1

คุณสามารถใช้คำสั่ง

sudo htpasswd -cm /etc/apache2/dav_svn.passwd XXXXX
  • XXXXX เป็นชื่อผู้ใช้แล้วมันจะถามรหัสผ่าน

นี่ก็ต่อเมื่อคุณตั้งค่า svn ด้วย apache ซึ่งไม่อ่าน svn conf โฟลเดอร์ชื่อผู้ใช้ไฟล์รหัสผ่าน conf

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.