You should look at some of the CMS programs. While they might be a little more than what you want (blog entries, polling, calendar, etc.), the user management might be exactly what you’re looking for.
You can set different levels of users who have different levels of site access.
You might check out Drupal, Mambo, PHPNuke, and PostNuke.
All of these programs have modules (some have to be downloaded extra)for file management.