Кіріспе
Unix/POSIX жүйелік есептік топтың нөмірі; нақты бір топты көрсету үшін қолданылатын сандық мән.
Unix сияқты жүйелерде бірнеше пайдаланушыны топтарға біріктіруге болады. POSIX және дәстүрлі Unix файлдық жүйе рұқсаттары үш классқа бөлінеді: пайдаланушы, топ және басқалар. Топтарды пайдалану арқылы дискілерге, принтерлерге және басқа да сыртқы құрылғыларға қол жеткізу сияқты қосымша мүмкіндіктерді ұйымдасқан түрде беруге болады. Бұл әдіс, басқаларымен қатар, суперпайдаланушыға Microsoft Windows NT және оның туындыларындағы Әкімшілер тобына ұқсас, кейбір әкімшілік міндеттерді қалыпты пайдаланушыларға жүктеуге мүмкіндік береді. Топ идентификаторы, көбінесе GID деп қысқартылады, – бұл нақты бір топты көрсету үшін қолданылатын сандық мән. GID мәндерінің диапазоны әртүрлі жүйелерде әртүрлі болуы мүмкін; ең кемінде GID 0 мен 32 767 аралығында болуы керек, бірақ бір шектеу бар: суперпайдаланушының кіру тобының GID-сі 0 болуы тиіс. Бұл сандық мән /etc/passwd және /etc/group файлдарында немесе олардың эквиваленттерінде топтарға сілтеме жасау үшін қолданылады. Көлеңкелі пароль файлдары мен Желілік ақпараттық қызмет те сандық GID-ге сілтеме жасайды. Топ идентификаторы Unix файлдық жүйелері мен процестерінің қажетті құрауы болып табылады.
Қосымша топтар
Unix жүйелерінде әрбір пайдаланушы кем дегенде бір топтың мүшесі болуы керек, ол – негізгі топ. Ол пайдаланушының passwd дерекқорындағы жазбасының сандық GID-імен анықталады, оны getent passwd командасымен қарауға болады (әдетте /etc/passwd немесе LDAP-та сақталады). Бұл топ негізгі топ идентификаторы деп аталады. Пайдаланушы топтар дерекқорындағы тиісті жазбаларда қосымша топтардың мүшесі ретінде тізімделуі мүмкін, оларды getent group командасымен қарауға болады (әдетте /etc/group немесе LDAP-та сақталады); осы топтардың идентификаторлары қосымша топ идентификаторлары деп аталады.
Нақты және нақты
Unix процестерінде тиімді (EUID, EGID), нақты (UID, GID) және сақталған (SUID, SGID) ID болады. Көбінесе бұл ID-лер бірдей, бірақ setuid және setgid процестерінде олар өзгеше болады.
Түрі
Бастапқыда қолтаңбалы 16 биттік бүтін сан қолданылған. Телес сандар топтық идентификатор ретінде жарамсыз болғандықтан, қолтаңба қажет болмады. Сондықтан, қазір қолтаңбасыз бүтін сан қолданылады, бұл 0 мен 65 535 арасындағы топтық идентификаторларды пайдалануға мүмкіндік береді. Көбінесе қазіргі операциялық жүйелер қолтаңбасыз 32 биттік бүтін сандарды қолданады, олар 0 мен 4 294 967 295 арасындағы топтық идентификаторларды қолдауға мүмкіндік береді.
Сақталған диапазондар
Көптеген Linux жүйелері GID нөмірлерінің 0-ден 99-ға дейінгі диапазонын статикалық түрде тағайындалған топтар үшін, ал 100-ден 499-ға немесе 100-ден 999-ға дейінгі диапазонды орнатудан кейін жүйелік скрипттермен динамикалық түрде тағайындалған топтар үшін резервтейді. Бұл диапазонды әдетте /etc/login.defs, useradd, groupadd және басқа да ұқсас құралдарда көрсетуге болады. FreeBSD жүйесінде пакетіне GID қажет болған порттаушылар 50 мен 999 аралығынан бос GID таңдап, осы статикалық тағайындауды ports/GIDs тізімінде тіркеуге болады.
Арнайы мәндер
0: Суперпайдаланушының GID-і әдетте нөлге (0) тең болады. −1: POSIX, аргументі жоқ жағдайда анықтау үшін (gid t) 1 мәнін резервтейді. 65,534: Linux ядросы 32 биттік GID, 16 биттік жүйелік шақырудың қайтару мәніне сыймағанда, 216−2 = 65,534 (көптеген Linux дистрибутивтері бұл топ атауын "nogroup" деп белгілейді) мәнін қолданады. Сондай-ақ, кіріс NFSv4 пакетіндегі топ атауы жүйедегі белгілі бір топқа сәйкес келмесе, idmapd осы мәнді қайтарады.
Жеке топтар
Көптеген жүйе әкімшілері әр пайдаланушы үшін жеке негізгі топты бөліп береді, оның атауы пайдаланушының кіру атымен сәйкес келеді, ал көбінесе оның сандық GID-і де пайдаланушының UID-імен бірдей болады. Мұндай жеке топтарда басқа мүшелер болмайды және олар пайдаланушыларға umask 0002 қолданып жұмыс істеуге мүмкіндік беру арқылы ортақ каталогтарда басқа пайдаланушылармен ынтымақтастықты жеңілдетеді. Осылайша, жаңа құрылған файлдар әдепкі бойынша топ мүшелері үшін жазу рұқсатын қоса алады, себебі бұл әдетте тек жеке топ мүшелеріне, яғни файл иесіне ғана жазуға рұқсат береді. Дегенмен, егер файл басқа топқа тиесілі ортақ каталогта құрылса және setgid биті қойылған болса, онда құрылған файл сол каталогтың топ мүшелері үшін де жазылатын болады. Көптеген Linux жүйелерінде /etc/login.defs файлындағы USERGROUPS ENAB айнымалысы useradd немесе userdel сияқты командалардың байланысты жеке топты автоматты түрде қосу немесе жоюын реттейді.