[241] in Hesiod

home help back first fref pref prev next nref lref last post

Re: scripts for database creation?

daemon@ATHENA.MIT.EDU (Daniel G. Pouzzner)
Wed Aug 17 12:19:01 1994

From: Daniel G. Pouzzner <douzzer@MIT.EDU>
To: hesiod@MIT.EDU
Cc: "Derrick J. Brashear" <db74+@andrew.cmu.edu>
In-Reply-To: Your message of "Wed, 17 Aug 1994 10:46:52 EDT."
             <siIW=Qq00UoQ81bJpV@andrew.cmu.edu> 
Date: Wed, 17 Aug 1994 12:15:43 EDT


The following script creates the user and group-related databases.
Frob the paths as you see fit.

#!/bin/sh
sed -n 's/^\(.*\):.*:\(.*:.*:.*:.*:.*\)$/\1.passwd	HS	TXT	"\1:*:\2"/p'\
 /etc/passwd > /var/dss/namedb/passwd.db
sed -n 's/^\(.*\):.*:\(.*\):\(.*:.*:.*:.*\)$/\2.uid	HS	TXT	"\1:*:\2:\3"/p'\
 /etc/passwd > /var/dss/namedb/uid.db
sed -n 's/^\(.*\):\*:\(.*\):.*$/\1.group	HS	TXT	"\1:*:\2:"/p'\
 /etc/group > /var/dss/namedb/group.db
awk 'BEGIN {FS=":"} {for (i = 4; i <= NF ; ++i) {print $i}}' < /etc/group | sort -u > /tmp/grplists.$$
echo > /var/dss/namedb/grplist.db
for username in `cat /tmp/grplists.$$`
do
	echo -n "$username.grplist	HS	TXT	\"" >> /var/dss/namedb/grplist.db
	awk 'BEGIN {FS=":";gotsome = 0}\
		{gotone = 0}\
		/'":$username"'/{{if (gotsome == 1) {printf (":")}};\
			{printf ("%s:%s",$1,$3) ; gotone = 1 ; gotsome = 1}}\
		END{printf ("\"\n"); exit}' < /etc/group >> /var/dss/namedb/grplist.db
done

--
i am daniel, douzzer@mit.edu      i've been here and i've been there and
 key  0B 99 0D 4F E8 55 9A 95     i've been inbetween. i talk to the wind,
print 43 C1 7F B5 DF 8F E3 33     my words are all carried away.
key: finger douzzer@ai.mit.edu    the wind cannot hear.

home help back first fref pref prev next nref lref last post