Ideally, all actors in your app are users hence a single users table. Now you can have a Groups table since a user can belong to Many groups. And also have a permissions tables since a group can have many permissions. In the end you'll have relationships like this.
Relationships
Tables
Going back to your question, a user can belong the students group and the students group can have a set permissions assigned to it.
Hope this makes sense.