i suggest 2 tables: users and groups. here's a basic idea of the data structure (i'm assuming you are using mySQL):
users
user_id (INT)
name (VARCHAR)
email (VARCHAR)
groups (SET '1','2','3')
groups
group_id (INT)
name (VARCHAR)
permissions (VARCHAR)
notice that users.groups is a SET field, meaning that each row can contain multiple groups, it is a list of group_id's that relate to the group table.
then let's say we want to pull all users from group 1:
SELECT * FROM users WHERE group = '1'
or let's say we want to see what groups user #123 is in:
SELECT groups FROM users WHERE user_id = 123
after the above query, you could then see what those permissions are:
SELECT permissions FROM groups WHERE group_id IN(resulst from last query)