Re: Advanced Security Issue

Tech Tip: Click here to run a free scan for Windows Errors and optimize PC performance




theriaup wrote:

> I have a secured database and have created 2 mdw's - one for development and
> one for distribution. In the development file, I have created the user
> SuperUser, who has no permissions, but is a member of the Admins group which
> has all permissions (the Admin user has no permissions, and is a member of
> the Users group which has no permissions either).

Sounds good. We have DEV.mdw with user/pid=SuperUser/1234 (say).


> In the second file, which was created seperately (different
> Name/Organization info, not just a copy of the first mdw),
> I have created a RemoteUser account, who has permission to
> create new users and maintain groups.

So now we have PROD.mdw with user/pid=RemoteUser/4567.


> But because it has been created seperately, there are no users
> capable of modifying permissions on the database.

Your other comments make it clear that you understand how it all works.
So I'm sure you'll agree, on reflection, that the second half of the
above statement does not follow from the first half. You could easily
create a ModifyDesign user in PROD.MDW & explicitly grant him Modify
Design permission to the objects in the database. Be that as it may ...


> However, I discovered that if I recreate the SuperUser with my RemoteUser
> account in the second file with the same PID as the SuperUser in the first
> file, I suddenly have full permissions on the database.

Do you mean, that if you create user/pid=SuperUser/1234 in *PROD*.mdw,
that user then has full permissions to the database?


> It was my understanding that because the original
> SuperUser didn't have permissions, and only
> inherited them through the Admins group, ...

That does match how you say that you set up that user.


> ... and because the Admins group is not a universal group
> (basically, the Admins group in the first file is not the
> same as the Admins group in the second file), ...

That is correct. The Admins group is specific to each unique
combination of company/organization/WID values.


> ... that the second SuperUser wouldn't actually be
> the equivalent of the first SuperUser because it's in
> a different workgroup file with a different Admins group.

No, that is not correct. If two users in different workgroup files have
the exact same username and PID, they are considered to be /identical/
by Access and Jet. (Indeed, they are /indistinguishable/ to Access and
Jet.) For more information on this, google this group for posts from me
(TC) containing the word SID.


> So where is it getting these permissions from?

Um - my bet is, it's getting them from the groups to which it belongs
in *PROD*.mdw !!

Also, as the other respondent said, you need to look at who owns the
various objects. If SuperUser *owns* the objects, then of course, he
will have full access to them.

Note that regardless of common belief, the owner of the database /is
not/ one of the people who always has (or can retrieve) full access to
the database. You can easily create a database in which the owner of
the database /does not/ have full access to one or more of the objects
therein.


> Does the mdb just recognize the SuperUser account and
> apply the original permissions from the first Admins group?

Nice try! But you know the answer. (no)


> Boy I hope this makes sense... :)

Sure does. Keep me posted!

HTH,
TC

.



Relevant Pages

  • Re: Advanced Security Issue
    ... I suddenly have full permeations on the database. ... > SuperUser, who has no permissions, but is a member of the Admins group ... > and only inherited them through the Admins group, ...
    (microsoft.public.access.security)
  • Re: Relink question
    ... I think I have found enough clues in the documentation to deduce that the destination database is the FE and the source database is the BE. ... Section 14.3 states that the Connect property can be used as long as there are "full permissions in the destination database and Open/Run permissions on the source database - no permissions at all are necessary on the source tables." ... I'm not sure why it assumes that, since the group name apparentlly is passed to the function, but assuming it is necessary to pass the Admins group name, either the code can be run only by members of the Admins group or everybody needs to be a member of the group. ...
    (microsoft.public.access.formscoding)
  • Re: Relink question
    ... You're also correct about the FAQ being a difficult document to grasp. ... have Open/Run permissions on the backend (which they would need to read the ... destination database is the FE and the source database is the BE. ... Admins group will be executing the code". ...
    (microsoft.public.access.formscoding)
  • Re: Advanced Security Issue
    ... as not being the same (by the way, SuperUser from Dev.mdw is the owner of the ... >> SuperUser, who has no permissions, but is a member of the Admins group which ... >> capable of modifying permissions on the database. ... >> inherited them through the Admins group, ...
    (microsoft.public.access.security)
  • Re: User has group permissions to object, but still denied access.
    ... specific queries is identical to queries that she does have the ability to ... permissions depending on where the file is, it means she's either opening the ... about 80 queries in the database, and I haven't been able to find a pattern ... The Admins group was given full permissions. ...
    (microsoft.public.access.security)