7.9. Grupid

Grupp on lihtsalt nimekiri kasutajatest. Grupi identifitseerivad grupi nimi ja GID (grupi ID). FreeBSDs (ja enamustes teistes UNIX®-i laadsetes süsteemides) on 2 faktorit, mida kernel arvestab otsustades, kas protsess võib midagi teha. Nendeks on ta kasutaja-ID ja nimekiri gruppidest kuhu see kuulub. Erinevalt kasutaja IDst on protsessiga seotud gruppide nimekiri. Mõnikord võid sa kuulda viiteid kasutaja või protsessi ``grupi ID-le'': enamasti tähendab see lihtsalt esimest gruppi nimekirjas.

Gruppide nimed paneb grupide ID-dega vastavusse /etc/group. See on tavaline tekstifail nelja koolonitega eraldatud väljaga. Esimene väli on grupi nimi, teine on krüpteeritud parool, kolmas on grupi ID ja neljas on komaga eraldatud nimekiri grupi liikmetest. Seda faili võib julgelt otse redigeerida (muidugi eeldades, et sa ei tee süntaksivigu). Põhjalikuma süntaksi kirjelduse leiad man-lehelt group(5).

Kui sa ei soovi faili /etc/group otse redigeerida, siis võid kasutada gruppide lisamiseks ja redigeerimiseks käsku pw(8). Näiteks teamtwo lisamiseks ja seejärel kontrollimaks, et ta ka eksisteerib, võid kasutada järgnevaid käske:

Example 7-8. Grupi lisamine käsu pw(8) abil

# pw groupadd teamtwo
# pw groupshow teamtwo
teamtwo:*:1100:

Number 1100 on grupi teamtwo ID. Hetkel ei ole grupil teamtwo ühtki liiget ja seega on ta üsna kasutu. Nüüd muudame seda, lisades kasutaja jru gruppi teamtwo.

Example 7-9. Kasutaja lisamine gruppi käsuga pw(8)

# pw groupmod teamtwo -M jru
# pw groupshow teamtwo
teamtwo:*:1100:jru

Argumendiks võtmele -M on antud grupi komaga eraldatud kasutajate nimekiri. Eelnevatest lõikudest teame, et paroolide fail sisaldab iga kasutaja jaoks ka gruppi. Kasutaja lisatakse gruppi automaatselt süsteemi poolt; kasutajat ei näidata grupi liikmena, kui käsule pw(8) anda kaasa võti groupshow, kuid teda on näha, kui informatsiooni küsitakse id(1) või mõne muu taolise programmi abil. Teisisõnu manipuleerib pw(8) ainult failiga /etc/group ja ei ürita kunagi lugeda andmeid lisaks ka failist /etc/passwd.

Example 7-10. id(1) kasutamine grupikuuluvuste teadasaamiseks

% id jru
uid=1001(jru) gid=1001(jru) groups=1001(jru), 1100(teamtwo)

Nagu näha, on jru gruppide jru ja teamtwo liige.

Lisainfot pw(8) kohta leiad tema man-lehelt ja lisainfot /etc/group formaadi kohta saab group(5) man-lehelt.