((AllowUsers || AllowGroups) && !(AllowUsers && AllowGroups))
James Dennis
jdennis at law.harvard.edu
Sat Feb 15 09:04:08 EST 2003
Yes, agreed. Thanks Ben. If someone is in a group that is denyed, but
should be allowed access to ssh, unix groups should handle that. Remove
the user from the group and such.
It's been a long day and I obviously went off on a tangent, but you've
put words to what my last email was trying to say much better than I did.
-James
Ben Lindstrom wrote:
> I think we are making this more complex than it really is. The only valid
> rules should be as such
>
> If PermitRootLogin then
> goto Accepted # Damn it, if I state root is allowed, it damn well
> better be honored.
>
> if DenyUser then
> goto Reject # don't pass go don't collect 200
>
> if AllowUser then
> goto Accepted # If we state they are allowed, honor it
>
> If DenyGroup then
> goto Reject # If they are not allowed by AllowUser they are never
>
> If AllowGroup then
> goto Accepted # We are stated they are allowed directly
>
> if AllowUser > 0 || AllowGroup > 0 then
> goto Reject # We have either allowed groups or allowed users, and
> they didn't pass.
>
> Accepted:
> ...
> return;
>
> Rejected:
> ...
> return;
>
> There is no other sane way.. No stupid order issues (which sshd_config has
> none to start with). And allows for 'Reject by defualt, define allowed'
> view.
>
> Plus it allows for the other way around. 'Allow by default, reject if
> not'
>
> So it makes everyone happy.
>
> The way it currently stands I doubt anyone is using allow{group,user}
> at this moment. Besides, personally if I say Yes I want root for any
> reason to be allowed. It damn well better honor it. It implies
> 'AllowUser'.
>
> Deny{User,Group} needs to be honored first because I think anyone stupid
> enough to do:
>
> AllowUser Foo
> DenyUser Foo
>
> should be shot.
>
> I can see someone going.. "But this breaks DenyUser root". Well tought,
> if you don't want root, use the right option.
>
> - Ben
>
>
> On Fri, 14 Feb 2003, James Dennis wrote:
>
>
>>I've thought about this a bit more and have changed my mind. I think
>>everything should just be kept very simple to avoid apache-like
>>configuration madness. Maybe Thomas's idea?
>>
>>If user is in denyusers
>> deny
>>if user is in allowusers
>> allow
>>
>>report error if user is in both
>>
>>if user's group is in denygroups
>> check status of either/and flag
>> either and is in allowusers
>> allow
>> and
>> deny
>>if user's group is in allowgroups
>> check status of either/and flag
>> either
>> allow
>> and
>> is in allowusers
>> allow
>> else
>> deny
>>
>>report error if group is in both
>>
>>--
>>James Dennis
>>Harvard Law School
>>
>>"Not everything that counts can be counted,
>>and not everything that can be counted counts."
>>
>>_______________________________________________
>>openssh-unix-dev mailing list
>>openssh-unix-dev at mindrot.org
>>http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
>>
>
>
> _______________________________________________
> openssh-unix-dev mailing list
> openssh-unix-dev at mindrot.org
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
>
--
James Dennis
Harvard Law School
"Not everything that counts can be counted,
and not everything that can be counted counts."
More information about the openssh-unix-dev
mailing list