Salida esta documentación aquí: http://drupal.org/documentation/modules/file
En concreto, la sección titulada "ubicaciones de archivos de la gestión y el acceso", que habla de la creación de un almacén de datos privada (todo el apoyo de Drupal 7, que sólo necesita ser configurado) .
Parafraseando, crear una carpeta tales como:
sites/default/files/privadas
poner un archivo .htaccess en esa carpeta con la siguiente para evitar el acceso directo a los archivos a través de la web:
Denegar de todos
(la documentación afirma que el siguiente paso hace los pasos anteriores de forma automática, no he probado que, lamentablemente, pero puede ser capaz de ahorrar algo de tiempo si se salta los dos pasos anteriores)
Entrar en el administrador de contenidos Drupal interfaz, vaya a /admin/config/media/file-system, configure la URL privada y seleccione Archivos privados servidos por Drupal como método de descarga predeterminado.
Con el fin de definir el acceso de grano fino a los nodos y campos, puede utilizar de acceso al contenido:http://drupal.org/project/content_access
También tendrá que editar sus tipos de contenido y establecer los campos del archivo/carga de imágenes para guardar los archivos cargados en archivos privados en lugar de archivos públicos.
En este punto, los permisos de nivel de nodo y campo determinarán si los usuarios tienen permiso para acceder a los archivos que se servirán a través de los ganchos de menú que verifican las credenciales antes de servir el archivo.
Espero que esto ayude.
No he usado este módulo, pero lo voy a instalar. Le permite restringir el acceso a los archivos por rol. https://drupal.org/project/file_access –
Otra restricción de archivos privados por rol, pero no en alfa https://drupal.org/project/private_files_download_permission –