Basic Gitea Information

Support HackTricks

Muundo wa Msingi

Muundo wa mazingira ya Gitea ni kuunganisha repos kwa shirika(s), kila moja inaweza kuwa na hifadhi kadhaa na timu kadhaa. Hata hivyo, kumbuka kwamba kama ilivyo katika github, watumiaji wanaweza kuwa na repos nje ya shirika.

Zaidi ya hayo, mtumiaji anaweza kuwa mwanachama wa mashirika tofauti. Ndani ya shirika, mtumiaji anaweza kuwa na idhini tofauti juu ya kila hifadhi.

Mtumiaji pia anaweza kuwa sehemu ya timu tofauti zikiwa na idhini tofauti juu ya repos tofauti.

Na hatimaye, hifadhi zinaweza kuwa na mifumo maalum ya ulinzi.

Idhini

Mashirika

Wakati shirika linaundwa timu inayoitwa Wamiliki inaundwa na mtumiaji anawekwa ndani yake. Timu hii itatoa ufikiaji wa admin juu ya shirika, hizo idhini na jina la timu haziwezi kubadilishwa.

Waadmin wa shirika (wamiliki) wanaweza kuchagua mwonekano wa shirika:

  • Umma

  • Kizuiwaji (watumiaji walioingia tu)

  • Binafsi (wanachama tu)

Waadmin wa shirika wanaweza pia kuonyesha ikiwa waadmin wa hifadhi wanaweza kuongeza au kuondoa ufikiaji kwa timu. Wanaweza pia kuonyesha idadi ya juu ya repos.

Wakati wa kuunda timu mpya, mipangilio kadhaa muhimu inachaguliwa:

  • Inabainishwa repos za shirika ambazo wanachama wa timu wataweza kufikia: repos maalum (repos ambapo timu imeongezwa) au zote.

  • Pia inabainishwa ikiwa wanachama wanaweza kuunda repos mpya (mumbaji atapata ufikiaji wa admin kwake)

  • Idhini ambazo wanachama wa hifadhi wata kuwa nazo:

  • Ukurugenzi wa ufikiaji

  • Ukurugenzi maalum:

Timu na Watumiaji

Katika hifadhi, waadmin wa shirika na waadmin wa hifadhi (ikiwa inaruhusiwa na shirika) wanaweza kusimamia majukumu yanayotolewa kwa washiriki (watumiaji wengine) na timu. Kuna 3 majukumu yanayowezekana:

  • Mkurugenzi

  • Andika

  • Soma

Uthibitishaji wa Gitea

Ufikiaji wa Mtandao

Kutumia jina la mtumiaji + nenosiri na labda (na inapendekezwa) 2FA.

SSH Keys

Unaweza kuunda akaunti yako na funguo moja au kadhaa za umma zinazoruhusu funguo husika za binafsi kufanya vitendo kwa niaba yako. http://localhost:3000/user/settings/keys

GPG Keys

Huwezi kujifanya kuwa mtumiaji kwa funguo hizi lakini ikiwa huzitumii inaweza kuwa inawezekana kwamba utagundulika kwa kutuma commits bila saini.

Tokens za Ufikiaji wa Kibinafsi

Unaweza kuunda token za ufikiaji wa kibinafsi ili kutoa programu ufikiaji wa akaunti yako. Token ya ufikiaji wa kibinafsi inatoa ufikiaji kamili juu ya akaunti yako: http://localhost:3000/user/settings/applications

Maombi ya Oauth

Kama token za ufikiaji wa kibinafsi, maombi ya Oauth yatakuwa na ufikiaji kamili juu ya akaunti yako na maeneo ambayo akaunti yako ina ufikiaji kwa sababu, kama ilivyoonyeshwa katika docs, maeneo hayajasaidiwa bado:

Funguo za Kupeleka

Funguo za kupeleka zinaweza kuwa na ufikiaji wa kusoma tu au wa kuandika kwa hifadhi, hivyo zinaweza kuwa na manufaa kuathiri repos maalum.

Ulinzi wa Tawi

Ulinzi wa tawi umeundwa ili kutopeana udhibiti kamili wa hifadhi kwa watumiaji. Lengo ni kueka mbinu kadhaa za ulinzi kabla ya kuwa na uwezo wa kuandika msimbo ndani ya tawi fulani.

Ulinzi wa tawi wa hifadhi unaweza kupatikana katika https://localhost:3000/<orgname>/<reponame>/settings/branches

Haiwezekani kueka ulinzi wa tawi katika kiwango cha shirika. Hivyo basi, zote lazima zitangazwe kwenye kila hifadhi.

Ulinzi tofauti unaweza kutumika kwa tawi (kama kwa master):

  • Zuia Push: Hakuna mtu anaweza kusukuma kwenye tawi hili

  • Ruhusu Push: Mtu yeyote mwenye ufikiaji anaweza kusukuma, lakini si kusukuma kwa nguvu.

  • Orodha ya Push iliyozuiwa: Ni watumiaji/timu waliochaguliwa pekee wanaweza kusukuma kwenye tawi hili (lakini si kusukuma kwa nguvu)

  • Ruhusu Mchanganyiko wa Orodha: Ni watumiaji/timu walio kwenye orodha pekee wanaweza kuunganisha PRs.

  • Ruhusu Ukaguzi wa Hali: Hitaji ukaguzi wa hali kupita kabla ya kuunganisha.

  • Hitaji idhini: Onyesha idadi ya idhini zinazohitajika kabla ya PR kuweza kuunganishwa.

  • Zuia idhini kwa walio kwenye orodha: Onyesha watumiaji/timu wanaoweza kuidhinisha PRs.

  • Zuia kuunganisha kwenye mapitio yaliyokataliwa: Ikiwa mabadiliko yanahitajika, haiwezi kuunganishwa (hata kama ukaguzi mwingine unakubalika)

  • Zuia kuunganisha kwenye maombi rasmi ya ukaguzi: Ikiwa kuna maombi rasmi ya ukaguzi haiwezi kuunganishwa

  • Futa idhini za zamani: Wakati commits mpya zinapofanywa, idhini za zamani zitafutwa.

  • Hitaji Commits Zilizotiwa Saini: Commits lazima zisainiwe.

  • Zuia kuunganisha ikiwa ombi la kuvuta limepitwa na wakati

  • Mifumo ya faili iliyolindwa/isiyolindwa: Onyesha mifumo ya faili za kulinda/kutoondoa dhidi ya mabadiliko

Kama unavyoona, hata kama umeweza kupata baadhi ya akidi za mtumiaji, repos zinaweza kulindwa zikizuia wewe kusukuma msimbo kwa master kwa mfano kuathiri mchakato wa CI/CD.

Support HackTricks

Last updated