Let users download entire folders (zip first) or individual files?
I suspect that the functionality that you are looking for exist in the elFinder file manager module. It allows downloading individual files and whole folders after compressing them first.

You can manage the roles that you allow to download specific files with the native drupal permission system. Just make sure that you don't give your users access to sensitive files in drupal installation.