What is the best way to secure an Access database?

I want to set the permissions on the folder/file so that people can open and use the Access file using Access runtime yet not be able to rename the file.
How should I set the permissions on the folder and file to secure it?
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Pawan KumarDatabase ExpertCommented:
Please refer this -


MS ACCESS will only encrypt your data but wont provide security. You need to use a database engine like SQL Server. No security on files etc,,
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
I'm not sure what a discussion about encrypting data in a database has to do with this question ...

You cannot restrict users from accessing the folder hosting your Jobboss database. In order to be able to use an Access database, users must have Read/Write/Create/Destroy permissions on the Folder. You can remove the Delete permissions from the FILE (i.e. the Access file), but that's about it.

As others have said, if you want true data security you'll have to move to a more robust database engine.
emeschkeAuthor Commented:
We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
Your Guide to Achieving IT Business Success

The IT Service Excellence Tool Kit has best practices to keep your clients happy and business booming. Inside, you’ll find everything you need to increase client satisfaction and retention, become more competitive, and increase your overall success.

This isn't my area of expertise but I believe that you can hide a directory so that users cannot see it using file manager.  they need transit or something like that permission to get through the invisible path.  You need to talk to someone expert in Windows permissions.  I added another topic that might attract the expert you need.
Pawan KumarDatabase ExpertCommented:
We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
>> Yes you can set the deny permission for delete and it will work.

For files we can set the encryptions so that no one can read and delete and access it. Eg. TDE.
Gustav BrockCIOCommented:
You should leave the frontend on a shared network folder where users have been granted read-only rights.
Then copy the frontend file to the user's local drive and launch it from there.

This can be controlled from a shortcut at the user's Desktop and a script as described here (Citrix not needed):

Deploy and update a Microsoft Access application in a Citrix environment

This will also take care of distribution of updates to the frontend.


Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
Scott McDaniel (Microsoft Access MVP - EE MVE )Infotrakker SoftwareCommented:
If you're using SQL, then unless you're running some sort of wacky security setup a Standard User would not be able to delete the actual database file.

If you're referring to the Frontend file (i.e. the one with the Forms, Reports, etc), then Gustav has the best solution for that - just move a copy of the FE to each user's desktop when they launch the program. They could rename it to their heart's content and it wouldn't make a difference.
Jim Dettman (Microsoft MVP/ EE MVE)President / OwnerCommented:
What is it exactly that you are trying to prevent?

  People looking at the code?   You mention renaming; what does it mean to you if they could rename the file?

 Since your data is in SQL server, that is protected by SQL security.   That leaves the "Front end", which as gustav pointed out, everyone should be getting their own copy anyway and the "master copy" should be in a directory where everyone only has read rights.

 But once they have a copy of it, they would be able to do anything they want with it.  i.e. take a copy home and use a full version of Access on it.

 If your trying to protect the code,  then you'll need to distribute the front end as a .accde to prevent that.

emeschkeAuthor Commented:
We will give the local file idea a try.

emeschkeAuthor Commented:
We installed it on a terminal server and deployed it via Group Policy. This seems to be the most secure way at the moment.
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.