Basic Gitea Information

Support HackTricks

Basic Structure

मूल Gitea पर्यावरण संरचना संगठन(ओं) द्वारा रिपॉजिटरी को समूहित करना है, इनमें से प्रत्येक में कई रिपॉजिटरी और कई टीमें हो सकती हैं। हालांकि, ध्यान दें कि github की तरह उपयोगकर्ताओं के पास संगठन के बाहर रिपॉजिटरी हो सकती हैं।

इसके अलावा, एक उपयोगकर्ता विभिन्न संगठनों का सदस्य हो सकता है। संगठन के भीतर उपयोगकर्ता के पास प्रत्येक रिपॉजिटरी पर विभिन्न अनुमतियाँ हो सकती हैं।

एक उपयोगकर्ता विभिन्न टीमों का हिस्सा भी हो सकता है जिनके पास विभिन्न रिपॉजिटरी पर विभिन्न अनुमतियाँ होती हैं।

और अंत में रिपॉजिटरी में विशेष सुरक्षा तंत्र हो सकते हैं

Permissions

Organizations

जब एक संगठन बनाया जाता है तो एक टीम जिसे मालिक कहा जाता है बनाई जाती है और उपयोगकर्ता को इसमें डाल दिया जाता है। यह टीम संगठन पर व्यवस्थापक पहुंच देगी, उन अनुमतियों और टीम के नाम को संशोधित नहीं किया जा सकता

संगठन व्यवस्थापक (मालिक) संगठन की दृश्यता का चयन कर सकते हैं:

  • सार्वजनिक

  • सीमित (केवल लॉग इन उपयोगकर्ता)

  • निजी (केवल सदस्य)

संगठन व्यवस्थापक यह भी संकेत दे सकते हैं कि रिपॉजिटरी व्यवस्थापक टीमों के लिए पहुंच जोड़ और या हटा सकते हैं। वे रिपॉजिटरी की अधिकतम संख्या भी संकेत कर सकते हैं।

नई टीम बनाते समय, कई महत्वपूर्ण सेटिंग्स का चयन किया जाता है:

  • यह संकेत दिया जाता है कि टीम के सदस्य संगठन की कौन सी रिपॉजिटरी तक पहुंच सकते हैं: विशिष्ट रिपॉजिटरी (रिपॉजिटरी जहां टीम जोड़ी गई है) या सभी।

  • यह भी संकेत दिया जाता है कि सदस्य नई रिपॉजिटरी बना सकते हैं (निर्माता को इसका व्यवस्थापक पहुंच मिलेगा)

  • अनुमतियाँ जो सदस्यों के पास होंगी:

  • व्यवस्थापक पहुंच

  • विशिष्ट पहुंच:

Teams & Users

एक रिपॉजिटरी में, संगठन व्यवस्थापक और रिपॉजिटरी व्यवस्थापक (यदि संगठन द्वारा अनुमति दी गई है) सहयोगियों (अन्य उपयोगकर्ताओं) और टीमों को दी गई भूमिकाओं का प्रबंधन कर सकते हैं। 3 संभावित भूमिकाएँ हैं:

  • व्यवस्थापक

  • लिखें

  • पढ़ें

Gitea Authentication

Web Access

उपयोगकर्ता नाम + पासवर्ड और संभावित (और अनुशंसित) 2FA का उपयोग करना।

SSH Keys

आप अपने खाते को एक या कई सार्वजनिक कुंजियों के साथ कॉन्फ़िगर कर सकते हैं जिससे संबंधित निजी कुंजी आपके behalf पर कार्य कर सकती है। http://localhost:3000/user/settings/keys

GPG Keys

आप इन कुंजियों के साथ उपयोगकर्ता का प्रतिरूपण नहीं कर सकते लेकिन यदि आप इसका उपयोग नहीं करते हैं तो यह संभव हो सकता है कि आप बिना हस्ताक्षर के कमिट भेजने के लिए खोजे जाएं

Personal Access Tokens

आप व्यक्तिगत पहुंच टोकन उत्पन्न कर सकते हैं ताकि किसी एप्लिकेशन को आपके खाते तक पहुंच मिल सके। एक व्यक्तिगत पहुंच टोकन आपके खाते पर पूर्ण पहुंच देता है: http://localhost:3000/user/settings/applications

Oauth Applications

व्यक्तिगत पहुंच टोकन की तरह Oauth एप्लिकेशन आपके खाते और उन स्थानों पर पूर्ण पहुंच रखेंगे जहां आपका खाता पहुंच रखता है क्योंकि, जैसा कि docs में संकेत दिया गया है, स्कोप अभी तक समर्थित नहीं हैं:

Deploy keys

Deploy keys में रिपॉजिटरी पर केवल-पढ़ने या लिखने की पहुंच हो सकती है, इसलिए वे विशिष्ट रिपॉजिटरी को समझौता करने के लिए दिलचस्प हो सकते हैं।

Branch Protections

शाखा सुरक्षा का उद्देश्य उपयोगकर्ताओं को रिपॉजिटरी का पूर्ण नियंत्रण नहीं देना है। लक्ष्य है कुछ शाखा के अंदर कोड लिखने से पहले कई सुरक्षा विधियों को लागू करना

रिपॉजिटरी की शाखा सुरक्षा https://localhost:3000/<orgname>/<reponame>/settings/branches में पाई जा सकती है

यह संगठन स्तर पर शाखा सुरक्षा सेट करना संभव नहीं है। इसलिए सभी को प्रत्येक रिपॉजिटरी पर घोषित किया जाना चाहिए।

विभिन्न सुरक्षा एक शाखा (जैसे मास्टर) पर लागू की जा सकती हैं:

  • पुश अक्षम करें: कोई भी इस शाखा पर पुश नहीं कर सकता

  • पुश सक्षम करें: किसी के पास पहुंच है तो पुश कर सकता है, लेकिन बलपूर्वक पुश नहीं कर सकता।

  • श्वेतसूची प्रतिबंधित पुश: केवल चयनित उपयोगकर्ता/टीम इस शाखा पर पुश कर सकते हैं (लेकिन बलपूर्वक पुश नहीं कर सकते)

  • मर्ज श्वेतसूची सक्षम करें: केवल श्वेतसूचीबद्ध उपयोगकर्ता/टीम PRs मर्ज कर सकते हैं।

  • स्थिति जांच सक्षम करें: मर्ज करने से पहले स्थिति जांच पास होनी चाहिए।

  • अनुमोदन आवश्यक: PR मर्ज करने से पहले आवश्यक अनुमोदनों की संख्या इंगित करें।

  • अनुमोदन को श्वेतसूचीबद्ध तक सीमित करें: PRs को अनुमोदित करने वाले उपयोगकर्ता/टीम को इंगित करें।

  • अस्वीकृत समीक्षाओं पर मर्ज ब्लॉक करें: यदि परिवर्तन का अनुरोध किया गया है, तो इसे मर्ज नहीं किया जा सकता (यहां तक कि अन्य जांच पास हो जाएं)

  • आधिकारिक समीक्षा अनुरोधों पर मर्ज ब्लॉक करें: यदि आधिकारिक समीक्षा अनुरोध हैं तो इसे मर्ज नहीं किया जा सकता

  • पुराने अनुमोदनों को खारिज करें: जब नए कमिट होते हैं, पुराने अनुमोदन खारिज कर दिए जाएंगे।

  • हस्ताक्षरित कमिट आवश्यक: कमिट हस्ताक्षरित होने चाहिए।

  • यदि पुल अनुरोध पुराना है तो मर्ज ब्लॉक करें

  • संरक्षित/असंरक्षित फ़ाइल पैटर्न: परिवर्तनों के खिलाफ सुरक्षा/असुरक्षा के लिए फ़ाइल पैटर्न इंगित करें

जैसा कि आप देख सकते हैं, भले ही आपने किसी उपयोगकर्ता की कुछ क्रेडेंशियल्स प्राप्त कर ली हों, रिपॉजिटरी संरक्षित हो सकती हैं जिससे आप मास्टर पर कोड पुश नहीं कर सकते उदाहरण के लिए CI/CD पाइपलाइन को समझौता करने के लिए।

Support HackTricks

Last updated