Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 10 Oct 2001 22:33:54 -0400 (EDT)
From:      Robert Watson <rwatson@FreeBSD.org>
To:        Mikhail Teterin <mi@corbulon.video-collage.com>
Cc:        Matt Dillon <dillon@earth.backplane.com>, Dag-Erling Smorgrav <des@ofug.org>, Garrett Wollman <wollman@khavrinen.lcs.mit.edu>, cvs-committers@FreeBSD.org, cvs-all@FreeBSD.org
Subject:   Re: cvs commit: src/sys/kern kern_proc.c kern_prot.c uipc_socket.c uipc_usrreq.c src/sys/netinet raw_ip.c tcp_subr.c udp_usrreq.c
Message-ID:  <Pine.NEB.3.96L.1011010222607.3545A-100000@fledge.watson.org>
In-Reply-To: <200110102353.f9ANrDp39720@corbulon.video-collage.com>

next in thread | previous in thread | raw e-mail | index | archive | help

On Wed, 10 Oct 2001, Mikhail Teterin wrote:

> >     I would  argue that  there are several  levels of  visibility here
> >     that  could be  governed  by  sysctl's. For  example,  if we  take
> >     'fstat' and 'ps' I would say that a user in the wheel group should
> >     have full  access to both, while  a user outside of  wheel perhaps
> >     should only have access to 'ps'. That's just an example.
> 
> When I hear about different access right to different information I
> think about file systems.  Perhaps, this information should be made
> available through something like /proc (or something else based on
> pseudofs -- /sysctl anyone -- it already hierarchical). Then the admins
> could tune the permissions to their hearts' content. 

It sounds like what is being asked for is a mandatory access control
policy -- one defined by the system administrator, as opposed to a
discretionary one ("permissions").  NAI Labs has funding to work on this
type of thing (more details to come on this front), so it may be the best
thing to do is make sure this gets included on the set of requirements
being taken into account for that work.  One thing that I think is worth
avoiding is adding a lot of inflexible and yet complex security policies
to the system in a very ad hoc way: the results are often inconsistent,
non-portable, and confusing.  The "other users" alternative policy is
quite simple, and fairly least-common-denominator, and the primitives to
support it were already in place (by virtue of cleanly abstracting
p_cansee and cr_cansee). 

BTW, speaking of additional file systems, Boris Popov has actually written
a sysctlfs already, that you might be interested in.  He also had a devfs
variant at one point.

I also played with a synthetic file system that represented TCP and UDP
ports, and ACL operations on the ports determined the rights to
connect/bind/... those ports.  Unfortunately, my experience suggested that
wasn't a very scalable way to do the work, and the file system paradigm
represented multi-dimmensional policies very poorly (the namespace didn't
reflect wildcard-esque policies).  It was an interesting experiment, but
probably not the right answer in the general case.  If we do want to start
representing the protection policies for kernel objects via a mechanism
like this, it might be appropriate the add a new sysctl type for ACLs.

Robert N M Watson             FreeBSD Core Team, TrustedBSD Project
robert@fledge.watson.org      NAI Labs, Safeport Network Services




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe cvs-all" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.NEB.3.96L.1011010222607.3545A-100000>