Basic Gitea Information
Last updated
Last updated
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)
Temel Gitea ortam yapısı, organizasyon(lar) tarafından repo gruplandırması yapmaktır; her biri birkaç depo ve birkaç takım içerebilir. Ancak, github'da olduğu gibi kullanıcıların organizasyon dışında da repo sahibi olabileceğini unutmayın.
Ayrıca, bir kullanıcı farklı organizasyonların üyesi olabilir. Organizasyon içinde kullanıcı, her depo üzerinde farklı izinlere sahip olabilir.
Bir kullanıcı ayrıca farklı takımların bir parçası olabilir ve farklı repos üzerinde farklı izinlere sahip olabilir.
Ve son olarak, depolar özel koruma mekanizmalarına sahip olabilir.
Bir organizasyon oluşturulduğunda, Sahipler adında bir takım oluşturulur ve kullanıcı bu takımın içine yerleştirilir. Bu takım, organizasyon üzerinde yönetici erişimi verecektir; bu izinler ve takımın adı değiştirilemez.
Org yöneticileri (sahipler) organizasyonun görünürlüğünü seçebilir:
Genel
Sınırlı (sadece giriş yapmış kullanıcılar)
Özel (sadece üyeler)
Org yöneticileri, repo yöneticilerinin takımlara erişim ekleyip veya kaldırıp kaldıramayacağını da belirtebilir. Ayrıca, maksimum depo sayısını da belirtebilirler.
Yeni bir takım oluştururken, birkaç önemli ayar seçilir:
Takım üyelerinin erişebileceği organizasyonun depoları belirtilir: belirli depolar (takımın eklendiği depolar) veya hepsi.
Ayrıca, üyelerin yeni depolar oluşturup oluşturamayacağı belirtilir (oluşturucu buna yönetici erişimi alır).
Üyelerin depo üzerindeki izinleri:
Yönetici erişimi
Belirli erişim:
Bir depoda, org yöneticisi ve repo yöneticileri (org tarafından izin verilirse) işbirlikçilere (diğer kullanıcılara) ve takımlara verilen rolleri yönetebilir. 3 olası rol vardır:
Yönetici
Yazma
Okuma
kullanıcı adı + şifre kullanarak ve potansiyel olarak (ve önerilen) bir 2FA ile.
Hesabınızı, ilgili özel anahtarın sizin adınıza işlem yapmasına izin veren bir veya daha fazla genel anahtar ile yapılandırabilirsiniz. http://localhost:3000/user/settings/keys
Bu anahtarlarla kullanıcıyı taklit edemezsiniz, ancak kullanmazsanız, imzasız gönderim yaparken keşfedilme olasılığınız olabilir.
Bir uygulamanın hesabınıza erişim sağlaması için kişisel erişim jetonu oluşturabilirsiniz. Kişisel erişim jetonu, hesabınıza tam erişim sağlar: http://localhost:3000/user/settings/applications
Kişisel erişim jetonları gibi, Oauth uygulamaları da hesabınıza ve hesabınızın erişim sağladığı yerlere tam erişim sağlayacaktır; çünkü belgelere göre, kapsamlar henüz desteklenmiyor:
Dağıtım anahtarları, depoya yalnızca okuma veya yazma erişimine sahip olabilir, bu nedenle belirli depoları tehlikeye atmak için ilginç olabilir.
Dal korumaları, kullanıcılara bir depo üzerinde tam kontrol vermemek için tasarlanmıştır. Amaç, bazı dallara kod yazabilmek için birkaç koruma yöntemi koymaktır.
Bir deponun dal korumaları https://localhost:3000/<orgname>/<reponame>/settings/branches adresinde bulunabilir.
Bir dal korumasını organizasyon düzeyinde ayarlamak mümkün değildir. Bu nedenle, hepsi her depoda belirtilmelidir.
Bir dala (örneğin master'a) farklı korumalar uygulanabilir:
Push'u Devre Dışı Bırak: Hiç kimse bu dala push yapamaz.
Push'u Etkinleştir: Erişimi olan herkes push yapabilir, ancak zorla push yapamaz.
Beyaz Liste Kısıtlı Push: Sadece seçilen kullanıcılar/takımlar bu dala push yapabilir (ancak zorla push yok).
Beyaz Liste ile Birleştirmeyi Etkinleştir: Sadece beyaz listeye alınmış kullanıcılar/takımlar PR'leri birleştirebilir.
Durum kontrollerini etkinleştir: Birleştirmeden önce durum kontrollerinin geçmesini gerektirir.
Onayları gerektir: Bir PR'nin birleştirilmeden önce gereken onay sayısını belirtir.
Onayları beyaz listeye alınmışlarla kısıtla: PR'leri onaylayabilecek kullanıcıları/takımları belirtir.
Reddedilen incelemelerde birleştirmeyi engelle: Değişiklikler talep edilirse, birleştirilemez (diğer kontroller geçse bile).
Resmi inceleme taleplerinde birleştirmeyi engelle: Resmi inceleme talepleri varsa, birleştirilemez.
Eski onayları geçersiz kıl: Yeni commitler olduğunda, eski onaylar geçersiz kılınır.
İmzalı Commitleri Gerektir: Commitler imzalanmalıdır.
Pull request güncel değilse birleştirmeyi engelle.
Korunan/Korunmayan dosya desenleri: Değişikliklere karşı korumak/kaldırmak için dosya desenlerini belirtir.
Gördüğünüz gibi, bir kullanıcının bazı kimlik bilgilerini elde etmeyi başarsanız bile, depolar korumalı olabilir ve örneğin CI/CD hattını tehlikeye atmak için master'a kod yüklemenizi engelleyebilir.
AWS Hacking'i öğrenin ve pratik yapın:HackTricks Eğitim AWS Kırmızı Takım Uzmanı (ARTE) GCP Hacking'i öğrenin ve pratik yapın: HackTricks Eğitim GCP Kırmızı Takım Uzmanı (GRTE)