Link to home
Start Free TrialLog in
Avatar of emeschke

asked on

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?
Avatar of Pawan Kumar
Pawan Kumar
Flag of India image

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,,
Avatar of Scott McDaniel (EE MVE )
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.
Avatar of emeschke


We are using SQL as the backend database. Hopefully removing the delete permissions will be enough...
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.
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.
Avatar of Gustav Brock
Gustav Brock
Flag of Denmark image

Link to home
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
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.
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.

We will give the local file idea a try.

We installed it on a terminal server and deployed it via Group Policy. This seems to be the most secure way at the moment.