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:
#
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_csoport
nak még egyetlen tagja
sincs, ami miatt lényegében haszontalan. Így
hát hívjuk meg a pg_csoport
ba
a korábban létrehozott jantyik
nevű felhasználót.
#
pw groupmod pg_csoport -M jantyik
#
pw groupshow pg_csoport
pg_csoport:*:1100:jantyikAz -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.
#
pw groupmod pg_csoport -m kisati
#
pw groupshow pg_csoport
pg_csoport:*:1100:jantyik,kisatiAz -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.
%
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_csoport
nak 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):
<questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kérdése, kérjük erre a címre írjon:
<gabor@FreeBSD.org>.