Tested on: Drupal 5.x
Scenario: you have some content types with some attachments you want to protect or restrict to certain users (e.g. authenticated vs. anonymous).
Private Upload is the right module to do the job. According to starbow, “the files are only as private as the nodes they are attached to“. In other words, Private Upload inherits the access restrictions from the “parent” node.
After you flag an attached file as “private”, it will be publicly downloadable by anonymous users if “parent” node is available to anonymous users. But if that node is available only to authenticated users, as anonymous you’ll get a “403: Forbidden” error if you try to download it.
If you want a tailored solution beyond standard access control provided by Core modules, you can combine Private Upload with other node access control modules:
I use both on different websites. Remember: Private Uploads inherits access restriction from parent node, so using these module you can automatically allow or deny to specific user roles to dowload the attachment on specific nodes (node by node with Node Access, globally for a content type with Content Access). But remember to flag each attachment as private!