So wie PseudoPsycho es beschrieben hat machen es viele Forum-Scripts (z.B. WBB3) und CMS.
Ich versuche das mal zu veranschaulichen:
Tabelle "user":
| id | user | password |
|---|
| 4356 | blabla1 | IRGENDEINHASH |
| 4357 | zweiteraccout | PASSWORTHASH |
Tabelle "groups":
| id | group | password |
|---|
| 342 | GruppeLOL | IRGENDEINHASH |
| 343 | WTFTeam | PASSWORTHASH |
Tabelle "user_to_groups":
| user_id | group_id |
|---|
| 4356 | 342 |
| 4357 | 342 |
| 4357 | 343 |
Hier ist jetzt "blabla1" in der Gruppe "GruppeLOL" und "zweiteraccount" ist in den Gruppen "GruppeLOL" und "WTFTeam".
Die IDs sind zufällig gewählt und sollten später per "Auto-Increment" beim hinzufügen eines Eintrags automatisch gesetzt werden.
Jede Gruppenzugehörigkeit kann also allein durch Zugriff auf "user_to_groups" geändert/hinzugefügt/gelöscht werden ohne die Gruppen oder User direkt zu beeinflussen.
Natürlich könnte in "user_to_groups" auch noch eine Rechtestufe (z.B. "is_admin") als zusätzliches Feld gespeichert werden. Wie komplex das am Ende wird liegt an deinen Anforderungen.
Wenn du dich generell mit solchen Datenmodellen und -verknüpfungen befassen willst, schaust du dir am besten mal ein Beispiel an. Etwa die Forensoftware "WBB" oder "WBBLite" bietet einen guten und praxisnahen Einblick in die User- und Gruppenverwaltung.