summaryrefslogtreecommitdiffstats
path: root/src/make-nis.sh
blob: 9d9bb62de2559d6f0d0b2b0e5ca8d9fe3019ae76 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
#!/bin/sh
dn="dc=boston, dc=redhat, dc=com"
inmap() {
	infile=$1
	div=$2
	shift 2
	while test $# -ge 2 ; do
		grep -v "^#" $infile | awk -F"$div" '
		BEGIN {
			print "dn: nisMapName='"$1"', '"$dn"'";
			print "objectClass: nisMap";
			print "nisMapName:", "'"$1"'";
			print "";
		}
		{
			print "dn: cn=" $'"$2"' ", nisMapName='"$1"', '"$dn"'";
			print "objectClass: nisObject";
			print "nisMapName: '"$1"'";
			print "cn:", $'"$2"';
			print "nisMapEntry:", $0;
			print "";
		}'
		shift 2
	done
}
outmap() {
	infile=$1
	map=$2
	grep -v "^#" $infile | awk '
	BEGIN {
		print "dn: nisMapName='"$map, $dn"'";
		print "objectClass: nisMap";
		print "nisMapName: '"$map"'";
		print "";
	}
	{
		print "dn: cn=" $1 "'", nisMapName=$map, $dn"'";
		print "objectClass: nisObject";
		print "nisMapName: '"$map"'";
		print "cn:", $1; $1="";
		print "nisMapEntry:" $0;
		print "";
	}'
}
inmap  /etc/passwd : passwd.byname 1 passwd.bynumber 3
inmap  /etc/group  : group.byname  1 group.bynumber  3
outmap /etc/auto.master auto.master