multi key encryption
It is possible to encrypt a file to multiple users by using CMS Envelope Data.

Firstly, you generate a content encryption key(CEK) to use in file encryption. Then the content-encryption key is encrypted for each recipient. Then store the encrypted data and the encrypted CEKs in an Enveloped Data format. To decrypt a file each client should first decrypt the CEK then use that CEK to decrypt the content itself.

In your scenario you should encrypt each file for the users that you want them to open, and you should encrypt all files for your master user.