Why Are "Permission Entries" changed

  • Thread starter Thread starter Ken Winters
  • Start date Start date
K

Ken Winters

I have an application that requires username "Everyone" to be granted
permission for a MS Access database file. But everytime I run the MS Access
Repair/Compact tool (to eliminate database corruption and free up space)
username "Everyone" is removed from the "Permission Entries" list for the
database file.

Why? And how can I configure the security on that database file so this
doesn't happen?
Thanks
 
If you are setting the permissions on the actual database file then the
answer is obvious.

The compression routine works like follows (well, this is how it should
work):

MDB ==> Compressed MDB
MDB ==> renamed temp file (.BAK usually)
Compressed MDB ==> renamed to original MDB
The reason for this convoluted approach is that the MDB file does not get
deleted until there is a known good compressed file in existance - if the
process fails, it just leaves the original MDB file in place.

If you indicate you want to keep the backup (depends on the utility) then
the .BAK stays and will have the permissions you have set.

Since the new MDB was created from scratch during the first step, it
inherits its permissions from the file store container it is in.

The solution is simple: grant the permissions to the containing folder. If
you are hesitent to do this because of what else is contained in the folder,
then move the MDB file to a dedicated folder and set the permissions on it.

Personally, I would raise this as a bug with the software vendors as NO
software should require the EVERYONE group to have permissions to anything
(IMHO).

- Tim
 
I am setting the permissions on the actual database file, but your answer
isn't the case (it was one of my first thoughts too). I can create a new
database in the same folder (which has "Everyone" on it's access list),
open, edit, and save that database repeatedly. "Everyone" remains on it's
access list. But as soon as I run the MS Access Repair/Compact utility it
removes "Everyone" (along with any other non-Administrator users) from the
access list.

I agree that there's an underlying bug, but I don't have the opportunity to
deal with that. I'm simply trying to provide some end users with the
ability to repair/compact the database without making them also manually add
"Everyone" back to the access list.

Thanks,
Ken
 
The answer, explaination, and work-around by defining a dedicated
folder to hold the mdb with the permissions needed set on the folder
are all correct.
 
While I appreciate your effort, merely asserting something I've already
tried will work doesn't change the fact that it doesn't. There is something
more to it.

The security settings on the folder make no difference on what happens when
the Access Repair/Compact is performed.
Thanks anyways.

Any other thoughts? Ideas?
 
I found the problem on an other newsgroup. It was the security settings in
the TEMP folder. Access apparently uses this folder to create a new copy of
the file during the repair/compact process.
 
Thats odd - I never noticed this before. You used to be able to watch it do
the compact / repair within the same folder.
(Oh frigging Winzip I say since it does something similar - unzip a GB file
and it has to unzip it elsewhere then waste time copying it to the right
place).

Another method of doing the compact that you may not be aware of is via the
ODBC Administrator. There are also utilities around that will do it for
you - pick carefully though as any utility that COPIES the mdb to a new file
first then compacts will risk corrupting the database as the database is
usually opened with Shared Write access so may be in the progress of being
updated while the COPY is done. I have seen that happen on a production
medical system with corrupt DB as a result...

Regards,

- Tim
 
I am in the same boat Tim, having watched it create the compacted
in the same folder. Perhaps after years of wishing Office products
actually used %temp% the wish is now granted in a way that will make
some things harder !!! Go figure.
 
Back
Top