Grup tanımlayıcı - Group identifier

İçinde Unix benzeri sistemler, birden fazla kullanıcı yerleştirilebilir grupları. POSIX ve geleneksel Unix dosya sistemi izinleri üç sınıf halinde düzenlenmiştir, kullanıcı, grup, ve diğerleri. Grupların kullanılması, disklere erişim gibi ek yeteneklerin organize bir şekilde devredilmesine izin verir, yazıcılar, ve diğeri çevre birimleri. Bu yöntem, diğerleri arasında, aynı zamanda süper kullanıcı bazı yönetim görevlerini normal kullanıcılara devretmek için Yöneticiler üzerinde grup Microsoft Windows NT ve türevleri.

Bir grup tanımlayıcı, genellikle kısaltılır GID, belirli bir grubu temsil etmek için kullanılan sayısal bir değerdir.[1] Bir GID için değer aralığı farklı sistemler arasında değişir; en azından, bir GID, bir kısıtlama ile 0 ile 32.767 arasında olabilir: süper kullanıcı için oturum açma grubunun GID 0 olması gerekir. Bu sayısal değer, içindeki gruplara atıfta bulunmak için kullanılır. / etc / passwd ve / etc / group dosyalar veya eşdeğerleri. Gölge şifre dosyalar ve Ağ Bilgi Hizmeti ayrıca sayısal GID'lere de başvurur. Grup tanımlayıcı, aşağıdakilerin gerekli bir bileşenidir: Unix dosya sistemleri ve süreçler.

Tamamlayıcı gruplar

Unix sistemlerinde, her kullanıcı en az bir grubun üyesi olmalıdır, birincil grup, kullanıcının passwd veritabanındaki girişinin sayısal GID'si ile tanımlanan ve komutla görüntülenebilen getent passwd (genellikle şurada saklanır / etc / passwd veya LDAP ). Bu grup şu şekilde anılır: birincil grup kimliği. Bir kullanıcı, grup veritabanındaki ilgili girişlerde ek grupların üyesi olarak listelenebilir ve getent grubu (genellikle şurada saklanır / etc / group veya LDAP ); bu grupların kimlikleri şu şekilde anılır: ek grup kimlikleri.

Etkili ve gerçek

Unix süreçlerinin bir etkili (EUID, EGID), bir gerçek (UID, GID) ve a kaydedildi (SUID, SGID) Kimliği. Normalde bunlar aynıdır, ancak setgid süreçler farklıdır.

Sözleşmeler

Tür

Başlangıçta, işaretli 16 bitlik bir tamsayı kullanıldı. İşaret gerekli olmadığından - negatif sayılar geçerli grup kimlikleri oluşturmaz - bunun yerine işaretsiz bir tamsayı kullanılır ve 0 ile 65.535 arasında grup kimliklerine izin verilir. Modern işletim sistemleri genellikle, 0 ile 4,294,967,295 arasındaki grup kimliklerine izin veren işaretsiz 32 bit tamsayılar kullanır.

Ayrılmış aralıklar

Birçok Linux sistemi, statik olarak ayrılmış gruplar için 0 ila 99 GID sayı aralığını ve kurulum sonrası komut dosyalarında sistem tarafından dinamik olarak ayrılan gruplar için 100-499 veya 100-999 GID sayı aralığını ayırır. Bu aralıklar genellikle şu şekilde belirtilir: /etc/login.defs, için useradd, groupadd ve benzer araçlar.

FreeBSD'de, paketleri için bir GID'ye ihtiyaç duyan taşıyıcılar, 50 ila 999 aralığından ücretsiz bir tane seçebilir ve sonra bu statik ayırmayı bağlantı noktaları / GID'ler.[2]

Özel değerler

  • 0: süper kullanıcı normalde GID değeri sıfırdır (0).
  • −1: Değer (gid_t) -1 POSIX tarafından atlanmış bir bağımsız değişkeni tanımlamak için ayrılmıştır.[3]
  • 65,534: Linux çekirdeği varsayılan olarak 2'dir16−2 = 65,534 (birçok Linux dağıtımı, 32 bitlik bir GID 16 bitlik bir sistem çağrısının dönüş değerine uymadığında "nogroup" grup adıyla eşleşir).[4] Değer ayrıca şu şekilde döndürülür: idmapd gelen bir grup adı NFSv4 paket, sistemdeki bilinen herhangi bir grupla eşleşmiyor.

Kişisel gruplar

Birçok sistem yöneticisi, her kullanıcı için, kullanıcının oturum açma adıyla aynı adı taşıyan ve genellikle kullanıcının UID'si ile aynı sayısal GID'ye sahip kişisel bir birincil grup da tahsis eder. Bu tür kişisel grupların başka üyeleri yoktur ve kullanıcıların alışılmış bir şekilde çalışmasına izin vererek paylaşılan dizinlerdeki diğer kullanıcılarla işbirliğini kolaylaştırır. Umask 0002. Bu şekilde, yeni oluşturulan dosyalar varsayılan olarak grup üyeleri için etkinleştirilmiş yazma izinlerine sahip olabilir, çünkü bu normalde yalnızca kişisel grup üyeleri için, yani yalnızca dosyanın sahibi için yazma erişimini etkinleştirir. Ancak, başka bir gruba ait olan ve paylaşılan bir dizinde bir dosya oluşturulursa setgid bit ayarlandığında, oluşturulan dosya otomatik olarak o dizinin grubunun üyelerine de yazılabilir hale gelir.

Birçok Linux sisteminde USERGROUPS_ENAB değişken /etc/login.defs gibi komutların olup olmadığını kontrol eder useradd veya userdel ilişkili bir kişisel grubu otomatik olarak ekler veya siler.

Ayrıca bakınız

Referanslar