Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 19 May 2000 16:06:08 +0100
From:      Jonathan Laventhol <jonathan.laventhol@imagination.co.uk>
To:        freebsd-hackers@freebsd.org
Subject:   System management with large groups
Message-ID:  <39255860.FC0F2688@imagination.co.uk>

next in thread | raw e-mail | index | archive | help
Dear FreeBSD Hackers --

I've got a technically-straightfordward but nonetheless
business-critical problem with the groups structures in FreeBSD
which perhaps you kind souls can help me with.

*** BACKGROUND ***

My company is a 400-person design and communications agency.
We have approximately 15 NT servers giving file and print service
to mixed network of Macintosh / W95 / NT desktop machines with
a user community of graphic designers, architects, and business
people.  The network is essentially pure IP and is global spread
over 5 offices in three continents.

I am looking at the technical feasibility of moving to FreeBSD
with Samba and Netatalk.

We currently use FreeBSD 3.3-RELEASE through 4.0-RELEASE via
Walnut Creek CDs for DNS, e-mail, web, ftp, various proxies,
tacacs and a number of custom web-delivered databases.  There
are maybe 15 small FreeBSD machines doing these jobs.  Only
systems management actually log in on the machines, the real
users have NOLOGIN shells.

We do not currently use NIS but I'm considering it.

*** HOW WE WANT TO USE GROUPS ***

We would want to use the groups in the following way:

Each user would have a group for themselves with UID=GID.
Each 'rank' would have a group eg board, vp, depthead, et cetera.
Each department would have a group eg finance, graphics et cetera.
Each project would have a group eg proj1000, proj1001

Then umask would be 775
	chown ernie.ernie /home/ernie
	chown boss.board /board/minutes
	chown cfo.finance /dept/finance
	chown whatever.proj1000 /projects/proj1000

Clearly there would be a lot of groups required: perhaps several
thousand.  And a particular individual might be in a hundred
or more groups; perhaps a few unique individuals would be in
all the projects.

*** ISSUES ***

The most significant issue is the limits on groups.  Part of this
is because of the inherent limits of user-group-world masks versus
ACLS -- which we can live with and would help us by simpifying
the problems -- and part is because of long-legacy limits within
4.4bsd.

Because of the size and structure of my company a person might need to
be in 20 or 30 groups anyway.

Because of working around the ACL issue, we'd need to have a large
number
of groups -- perhaps thousands -- and individual users in large
proportion
of those.  Some users might even be in *every* group.

*** APPARENT CAUSES ***

1.  I see that the 200-users-per-group limit is gone since 3.0-RELEASE.

2.  I'm concerned about the 1+16 groups-per-user issue

3.  I'm concerned about large numbers of groups in a flat group(5) file.

*** QUESTIONS ***

Question 0: Is this a sensible way to solve my access rights
issues?  Anybody got a better way altogether?  (Maybe just
hack Samba?)

Question 1: Is anybody planning any work on this for future
releases?

Question 2: What is the relationship between hard-coded NGROUPS
and NGROUPS_MAX, and the sysctl kern.ngroups?

Question 3: Can I just edit NGROUPS_MAX somewhere and make it
bigger?  Which one do I fix?  (Is there a 'make world faq?  Never 
done it before.)

Question 4: What do people think might break?  Would it be better,
worse, or impossible to do this with NIS?

Question 5: Has anybody done anything like a vigr (like vipw)
for /etc/group?  Our (locally-written) user database would be
changing the groups all the time.


Many thanks, my FreeBSD heroes, if anybody has anything to offer
on this.

Best regards,
Jonathan.
-- 
Jonathan Laventhol
Technology Director
____________________________________________________________________
Imagination  25 Store Street South Crescent London WC1E 7BL England |
             Tel +44 171 323 3300    Fax +44 171 323 5801           |
             _______________________________________________________|


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




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?39255860.FC0F2688>