[241] in Hesiod
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.