File: gen_export_sets

package info (click to toggle)
tiger 2.2.4-22
  • links: PTS
  • area: main
  • in suites: woody
  • size: 2,188 kB
  • ctags: 240
  • sloc: sh: 8,388; ansic: 2,109; makefile: 141; perl: 106
file content (45 lines) | stat: -rwxr-xr-x 1,332 bytes parent folder | download
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
#!/bin/sh
#
#     tiger - A UN*X security checking system
#     Copyright (C) 1993 Douglas Lee Schales, David K. Hess, David R. Safford
#
#     Please see the file `COPYING' for the complete copyright notice.
#
# Linux/2/gen_export_sets - 12/03/2001
# 
# 12/03/2001 jfs  Make it export sets that can be understood by check_exports
#                 this way it can appropiately find errors 
#
#-----------------------------------------------------------------------------
#
# For debugging purposes
[ -z "$GREP" ] && GREP=`which grep`
[ -z "$SED" ] && SED=`which sed`
[ -z "$AWK" ] && AWK=`which awk`
[ -z "$WORKDIR" ] && WORKDIR=/tmp

EXPFILE=/etc/exports
EXPFILEW=`echo $EXPFILE | $SED -e 's/^\///' | $SED -e 's/\\//\_/g'`

[ -r $EXPFILE ] && {
  $GREP -v '^#' $EXPFILE  | {
  while read dir acl 
  do
    echo $acl | 
    $AWK -F ")" '{split($0,array); for (data in array)  print $data }' | {
	while read hostaccess
	do
          [ ! -z "$hostaccess" ] && {
		domain=`echo $hostaccess | $AWK -F "(" '{print $1}'`
		[ ! -z "$domain" ] && access="access=$domain"
		[ -z "$domain" ] && access=""
		options=`echo $hostaccess | $AWK -F "(" '{print $2}' | $SED -e 's/,/ /g'`
		echo $dir $access $options 
	}
	done 
     }
  done 
  } > $WORKDIR/$EXPFILEW.$$
  echo "$EXPFILE" > $WORKDIR/$EXPFILEW.$$.src
  echo $WORKDIR/$EXPFILEW.$$
}