A função padrão já existente de "editing teacher" (professor com permissão para editar) não atende ao que você busca, desde que designada dentro da categoria? Ele pode fazer tudo isso que você menciona, mas não pode mexer na estrutura no nível de site.