Theres a lot you could do with ulx. As JamminR said, (I personally don't entirely do it the way he's suggesting).
I have 21 (not considering user, operator, admin, and superadmin as groups.)
User being the lowest, and nothing should ever be lower than that, or you might have problems. I just have everything inherit off previous group.
User > (!%1)
1 > (!%2)
2 > (!%3)
3 > (!%operator)
Operator {!%4} (No one ever gets actually places in this group, I just have the higher groups that users get placed in, and their group inherits from operator)
4 > (!%5)
5 > (!%6)
6 > (!%admin)
Admin {!%7} (No one ever gets actually places in this group, I just have the higher groups that users get placed in, and their group inherits from admin)
7 > (!%8)
8 > (!%9)
9 > (!%superadmin)
Superadmin {!%10} (No one ever gets actually places in this group, I just have the higher groups that users get placed in, and their group inherits from superadmin)
10 > (!%11)
11 > (!%12)
12 > (this rank being the highest, it gets "*" as it is top dog, and no one can target this guy)