Egy csoport nem több felhasználók összességénél. A csoportokat a nevük és az azonosítójuk (Group ID, GID) azonosítja be. A FreeBSD-ben (és a legtöbb UNIX®-szerű rendszerben) a rendszermag két tényező alapján dönt arról, mit szabad tennie egy futó programnak: ezek közül az egyik a tulajdonosának azonosítója (UID), a másik azon csoportok listája, melyeknek tagja a tulajdonos. Eltérően a UID-től, egy futó programhoz csoportok listája tartozik. Amikor egy felhasználó vagy egy futó program “csoportazonosítójára” hivatkoznak, általában csak a lista első elemére gondolnak.
A csoportok nevei és azonosítói közti megfeleltetéseket az /etc/group állományban találjuk. Ez lényegében egy szimpla szöveges állomány, négy kettősponttal elválasztott mezőt tartalmaz. Ezek közül az első a csoport neve, a második a titkosított jelszó, a harmadik a csoport azonosítója, a negyedik pedig a tagok vesszővel tagolt felsorolása. Akár kézzel is nyugodtan szerkeszthető (feltételezve persze, hogy nem vétünk benne szintaktikai hibát!). A szintaxis teljes leírását a group(5) man oldalon találhatjuk meg.
Ha nem akarjuk magunk szerkeszteni az /etc/group állományt, használhatjuk a pw(8) parancsot is csoportok létrehozására és törlésére. Például hozzuk létre a pg_csoport nevű csoportot és vizsgáljuk meg, valóban létrejött-e:
Példa 13-7. A csoportok tagjainak beállítása a pw(8) használatával
# pw groupadd pg_csoport # pw groupshow pg_csoport pg_csoport:*:1100:
A fent szereplő 1100-as érték a pg_csoport csoportazonosítója. Ebben a pillanatban a pg_csoportnak még egyetlen tagja sincs, ami miatt lényegében haszontalan. Így hát hívjuk meg a pg_csoportba a korábban létrehozott jantyik nevű felhasználót.
Példa 13-8. A csoport tagjainak beállítása a pw(8) használatával
# pw groupmod pg_csoport -M jantyik # pw groupshow pg_csoport pg_csoport:*:1100:jantyik
Az -M
kapcsoló paramétere a
csoportba sorolandó felhasználók neveinek
vesszőkkel tagolt listája. A korábbi szakaszok
alapján már tudjuk, hogy a jelszavakat
tároló állomány egyben azokat a
csoportokat is tartalmazza, ahova az egyes
felhasználók tartoznak. Az utóbbiakat (a
felhasználókat) automatikusan beleteszi a rendszer a
csoportlistába, de az érintett
felhasználó nem fog megjelenni tagként a
pw(8) parancs groupshow
utasításával, azonban az id(1) és
a hozzá hasonló eszközökkel már
látható lesz. Más szavakkal élve, a
pw(8) csak az /etc/group
állományt módosítja, és soha
nem próbál meg további adatokat kiolvasni az
/etc/passwd
állományból.
Példa 13-9. Egy új tag felvétele a csoportba a pw(8) használatával
# pw groupmod pg_csoport -m kisati # pw groupshow pg_csoport pg_csoport:*:1100:jantyik,kisati
Az -m
kapcsoló paramétere azon
felhasználók vesszővel tagolt listája,
akiket fel akarunk venni a csoportba. Tehát
eltérően az előző
példától, ezeket a
felhasználókat felvesszük a csoportba, nem
pedig átírjuk velük a csoport jelenlegi
tagjainak listáját.
Példa 13-10. Az id(1) használata a csoporttagság megállapítására
% id jantyik uid=1001(jantyik) gid=1001(jantyik) groups=1001(jantyik), 1100(pg_csoport)
Ahogy láthatjuk is, a jantyik nevű felhasználó tagja a jantyik nevű csoportnak és a pg_csoportnak is.
A pw(8) működéséről a saját man oldalán, az /etc/group formátumáról pedig a group(5) man oldalon találhatunk több információt.
Ha kérdése van a FreeBSD-vel kapcsolatban, a következő
címre írhat (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése,
kérjük erre a címre írjon: <gabor@FreeBSD.org>.