This is the mail archive of the
libc-alpha@sources.redhat.com
mailing list for the glibc project.
Tree based nss module with fine grained permission control
- To: <libc-alpha at sources dot redhat dot com>
- Subject: Tree based nss module with fine grained permission control
- From: John Fremlin <vii at users dot sourceforge dot net>
- Date: 23 Jun 2001 06:29:07 +0100
Hi!
Today I wrote an NSS module that implements groups and passwd in a
directory tree based structure under /etc/usertree. I'll put it in the
CVS of
http://sourceforge.net/projects/seventh
as soon as I can think of a good name for it. Suggestions very
welcome! usertree is really getting on my nerves after typing it so
much ;-) and I have no idea how I chose it.
The source is under GPL, and anybody who wants a sneak preview need
only drop me a mail. I don't suppose that there is any likelihood that
it'll get included in libc? The nss module is only 500 lines or so.
Detailed explanation of directory structure (comments very welcome):
In /etc/usertree/user and /etc/usertree/group there are a
subdirectories for each user or group, called by the name of the user
or group. For example there is usually a directory
/etc/usertree/user/root.
Inside each user directory are
fullname - a file containing the so-called gecos information
password - a file containing password information
uid - a symlink to the uid of the user under /etc/usertree/uid
gid - a symlink to the main gid of the user under /etc/usertree/gid
shell - a symlink to the user's shell
homedir - a symlink to the user's home directory
Inside each group directory are
password - a file containing password information
members - a subdirectory containing symlinks named with users'
names and pointing to users' subdirectories under /etc/usertree/user
gid - a symlink to the gid of the group under /etc/usertree/gid
In /etc/usertree/uid and /etc/usertree/gid there are symlinks named
with id numbers pointing to users' or groups' directories under
/etc/usertree/user and /etc/usertree/group.
--
http://ape.n3.net