Home | History | Annotate | Download | only in common_files
      1     0    stevel #!/bin/sh
      2     0    stevel #
      3     0    stevel # CDDL HEADER START
      4     0    stevel #
      5     0    stevel # The contents of this file are subject to the terms of the
      6  3147  xc151355 # Common Development and Distribution License (the "License").
      7  3147  xc151355 # You may not use this file except in compliance with the License.
      8     0    stevel #
      9     0    stevel # You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
     10     0    stevel # or http://www.opensolaris.org/os/licensing.
     11     0    stevel # See the License for the specific language governing permissions
     12     0    stevel # and limitations under the License.
     13     0    stevel #
     14     0    stevel # When distributing Covered Code, include this CDDL HEADER in each
     15     0    stevel # file and include the License file at usr/src/OPENSOLARIS.LICENSE.
     16     0    stevel # If applicable, add the following below this CDDL HEADER, with the
     17     0    stevel # fields enclosed by brackets "[]" replaced with your own identifying
     18     0    stevel # information: Portions Copyright [yyyy] [name of copyright owner]
     19     0    stevel #
     20     0    stevel # CDDL HEADER END
     21     0    stevel #
     22  8897    Renaud # Copyright 2009 Sun Microsystems, Inc.  All rights reserved.
     23     0    stevel # Use is subject to license terms.
     24     0    stevel #
     25     0    stevel 
     26     0    stevel PATH="/usr/bin:/usr/sbin:${PATH}"
     27     0    stevel export PATH
     28  8897    Renaud 
     29  8897    Renaud TEMPF="/tmp/d.$$"
     30     0    stevel 
     31     0    stevel while read src dest
     32     0    stevel do
     33     0    stevel 	if [ ! -f $dest ] ; then
     34     0    stevel 		cp $src $dest
     35     0    stevel 	else
     36     0    stevel 		#
     37     0    stevel 		# 2.1 version of this file had a trailing blank
     38     0    stevel 		# in the nobody entry.  Remove it.
     39     0    stevel 		#
     40     0    stevel 		# 2.6 & earlier versions had an smtp entry; remove it.
     41     0    stevel 		#
     42     0    stevel 		# The NFS nobody users get better GECOS entries.
     43     0    stevel 		sed -e 's/^\(nobody:.*:\) $/\1/' \
     44     0    stevel 		    -e '/^smtp:/d' \
     45     0    stevel 		    -e '/^nobody:/s/:Nobody:/:NFS Anonymous Access User:/' \
     46     0    stevel 		    -e '/^nobody4:/s/:SunOS\ 4\.x\ Nobody:/:SunOS 4.x NFS Anonymous Access User:/;' \
     47  8897    Renaud 		    $dest > $TEMPF
     48  8897    Renaud 		cp $TEMPF $dest
     49  8897    Renaud 		rm -f $TEMPF
     50     0    stevel 
     51     0    stevel 		#
     52     0    stevel 		# s10 is changing root's group back to 0:
     53     0    stevel 		#
     54     0    stevel 		sed -e 's/^root:\([^:]*\):0:1:/root:\1:0:0:/' \
     55  8897    Renaud 			$dest > $TEMPF
     56  8897    Renaud 		cp $TEMPF $dest
     57  8897    Renaud 		rm -f $TEMPF
     58     0    stevel 
     59     0    stevel 		#
     60     0    stevel 		# Add the 'nobody' user from 4.x so that people don't
     61     0    stevel 		# assign it to a regular user and confuse themselves
     62     0    stevel 		#
     63     0    stevel 		NOBODY4_LINE="nobody4:x:65534:65534:SunOS 4.x NFS Anoymous Access User:/:"
     64  9261    Darren 		if grep "^nobody4:" $dest >/dev/null 2>&1; then
     65     0    stevel 			:
     66     0    stevel 		else
     67  8897    Renaud 			sed '/^noaccess:x/ a\
     68  8897    Renaud '"$NOBODY4_LINE"'' $dest > $TEMPF
     69  8897    Renaud 			mv -f $TEMPF $dest
     70     0    stevel 		fi
     71     0    stevel 
     72     0    stevel 		#
     73     0    stevel 		# Add the 'smmsp' user for sendmail 8.12
     74     0    stevel 		#
     75     0    stevel 		SMMSP_LIN="smmsp:x:25:25:SendMail Message Submission Program:/:"
     76  9261    Darren 		if grep "$SMMSP_LIN" $dest >/dev/null 2>&1; then
     77     0    stevel 			:
     78     0    stevel 		else
     79  8897    Renaud 			sed '/^nobody4:x/ a\
     80  8897    Renaud '"$SMMSP_LIN"'' $dest > $TEMPF
     81  8897    Renaud 			mv -f $TEMPF $dest
     82     0    stevel 		fi
     83     0    stevel 		
     84     0    stevel 		#
     85     0    stevel 		# Add the 'gdm' user if it doesn't exist.
     86     0    stevel 		#
     87  9261    Darren 		GDM_LINE="gdm:x:50:50:GDM Reserved UID:/var/lib/gdm:"
     88  9261    Darren 		OLD_GDM_LINE="gdm:x:50:50:GDM Reserved UID:/:"
     89     0    stevel 		cur_name=`awk -F: '$3 == 50 { print $1 }' $dest`
     90     0    stevel 		if [ ! -z "$cur_name" -a "$cur_name" != "gdm" ]; then
     91     0    stevel 			echo "ERROR: Reserved UID 50 already assigned" \
     92     0    stevel 				"to '$cur_name'" >> /tmp/CLEANUP
     93  9261    Darren 		elif grep "$GDM_LINE" $dest >/dev/null 2>&1; then
     94     0    stevel 			:
     95  9261    Darren 		elif grep "$OLD_GDM_LINE" $dest > /dev/null 2>&1; then
     96  9261    Darren 			sed '/^gdm:/s/:\/:/:\/var\/lib\/gdm:/' $dest > $TEMPF
     97  9261    Darren 			mv -f $TEMPF $dest
     98     0    stevel 		else
     99  8897    Renaud 			sed '/^listen:x/ a\
    100  8897    Renaud '"$GDM_LINE"'' $dest > $TEMPF
    101  8897    Renaud 			mv -f $TEMPF $dest
    102     0    stevel 		fi
    103     0    stevel 
    104     0    stevel 		#
    105     0    stevel 		# Add the 'webservd' user if it doesn't exist.
    106     0    stevel 		#
    107     0    stevel 		WEBSERVD_LIN="webservd:x:80:80:WebServer Reserved UID:/:"
    108     0    stevel 		cur_name=`awk -F: '$3 == 80 { print $1 }' $dest`
    109     0    stevel 		if [ ! -z "$cur_name" -a "$cur_name" != "webservd" ]; then
    110     0    stevel 			echo "ERROR: Reserved UID 80 already assigned" \
    111     0    stevel 				"to '$cur_name'" >> /tmp/CLEANUP
    112  9261    Darren 		elif grep "$WEBSERVD_LIN" $dest > /dev/null 2>&1; then
    113     0    stevel 			:
    114     0    stevel 		else
    115  8897    Renaud 			sed '/^gdm:x/ a\
    116  8897    Renaud '"$WEBSERVD_LIN"'' $dest > $TEMPF
    117  8897    Renaud 			mv -f $TEMPF $dest
    118     0    stevel 		fi
    119  3105   jg97986 
    120  3105   jg97986 		#
    121  3105   jg97986 		# Add the 'postgres' user if it doesn't exist.
    122  3105   jg97986 		#
    123  3105   jg97986 		POSTGRES_LIN="postgres:x:90:90:PostgreSQL Reserved UID:/:/usr/bin/pfksh"
    124  3105   jg97986 		cur_name=`awk -F: '$3 == 90 { print $1 }' $dest`
    125  3105   jg97986 		cur_id=`awk -F: '$1 == "postgres" { print $3 }' $dest`
    126  3105   jg97986 		if [ ! -z "$cur_name" -a "$cur_name" != "postgres" ]; then
    127  3105   jg97986 			echo "ERROR: Reserved UID 90 already assigned" \
    128  3105   jg97986 			    "to '$cur_name'" >> /tmp/CLEANUP
    129  3105   jg97986 		elif [ ! -z "$cur_id" -a "$cur_id" != "90" ]; then
    130  3105   jg97986 			echo "NOTE: postgres username already assigned" \
    131  3105   jg97986 			    "to id '$cur_id'" >> /tmp/CLEANUP
    132  9261    Darren 		elif grep "$POSTGRES_LIN" $dest > /dev/null 2>&1; then
    133  3105   jg97986 			:
    134  3105   jg97986 		else
    135  8897    Renaud 			sed '/^webservd:x/ a\
    136  8897    Renaud '"$POSTGRES_LIN"'' $dest > $TEMPF
    137  8897    Renaud 			mv -f $TEMPF $dest
    138  3105   jg97986 		fi
    139  3147  xc151355 
    140  6784   johnlev                 #
    141  5983  sm156471                 # Add the 'mysql' user if it doesn't exist.
    142  5983  sm156471                 #
    143  5983  sm156471                 MYSQL_LIN="mysql:x:70:70:MySQL Reserved UID:/:"
    144  5983  sm156471                 cur_name=`awk -F: '$3 == 70 { print $1 }' $dest`
    145  5983  sm156471                 cur_id=`awk -F: '$1 == "mysql" { print $3 }' $dest`
    146  5983  sm156471                 if [ ! -z "$cur_name" -a "$cur_name" != "mysql" ]; then
    147  5983  sm156471                         echo "ERROR: Reserved UID 70 already assigned" \
    148  5983  sm156471                             "to '$cur_name'" >> /tmp/CLEANUP
    149  5983  sm156471                 elif [ ! -z "$cur_id" -a "$cur_id" != "70" ]; then
    150  5983  sm156471                         echo "NOTE: mysql username already assigned" \
    151  5983  sm156471                             "to id '$cur_id'" >> /tmp/CLEANUP
    152  9261    Darren                 elif grep "$MYSQL_LIN" $dest > /dev/null 2>&1; then
    153  5983  sm156471                         :
    154  5983  sm156471                 else
    155  8897    Renaud                         sed '/^postgres:x/ a\
    156  8897    Renaud '"$MYSQL_LIN"'' $dest > $TEMPF
    157  8897    Renaud 			mv -f $TEMPF $dest
    158  5983  sm156471                 fi
    159  5983  sm156471 
    160  3147  xc151355 		#
    161  5649    pschow 		# Add the 'svctag' user if it doesn't exist.
    162  5649    pschow 		#
    163  5649    pschow 		SVCTAG_LIN="svctag:x:95:12:Service Tag UID:/:"
    164  5649    pschow 		cur_name=`awk -F: '$3 == 95 { print $1 }' $dest`
    165  5649    pschow 		cur_id=`awk -F: '$1 == "svctag" { print $3 }' $dest`
    166  5649    pschow 		if [ ! -z "$cur_name" -a "$cur_name" != "svctag" ]; then
    167  5649    pschow 			echo "ERROR: Reserved UID 95 already assigned" \
    168  5649    pschow 			    "to '$cur_name'" >> /tmp/CLEANUP
    169  5649    pschow 		elif [ ! -z "$cur_id" -a "$cur_id" != "95" ]; then
    170  5649    pschow 			echo "NOTE: svctag username already assigned" \
    171  5649    pschow 			    "to id '$cur_id'" >> /tmp/CLEANUP
    172  9261    Darren 		elif grep "$SVCTAG_LIN" $dest > /dev/null 2>&1; then
    173  5649    pschow 			:
    174  5649    pschow 		else
    175  8897    Renaud 			sed '/^postgres:x/ a\
    176  8897    Renaud '"$SVCTAG_LIN"'' $dest > $TEMPF
    177  8897    Renaud 			mv -f $TEMPF $dest
    178  5649    pschow 		fi
    179  5649    pschow 
    180  5649    pschow 		#
    181  3147  xc151355 		# Add the 'dladm' user if it doesn't exist.
    182  3147  xc151355 		#
    183  3147  xc151355 		DLADM_LIN="dladm:x:15:3:Datalink Admin:/:"
    184  3147  xc151355 		cur_name=`awk -F: '$3 == 15 { print $1 }' $dest`
    185  3147  xc151355 		if [ ! -z "$cur_name" -a "$cur_name" != "dladm" ]; then
    186  3147  xc151355 			echo "ERROR: Reserved UID 15 already assigned" \
    187  3147  xc151355 				"to '$cur_name'" >> /tmp/CLEANUP
    188  9261    Darren 		elif grep "$DLADM_LIN" $dest > /dev/null 2>&1; then
    189  3147  xc151355 			:
    190  3147  xc151355 		else
    191  8897    Renaud 			sed '/^nuucp:x/ a\
    192  8897    Renaud '"$DLADM_LIN"'' $dest > $TEMPF
    193  8897    Renaud 			mv -f $TEMPF $dest
    194  3147  xc151355 		fi
    195  6784   johnlev 
    196  6784   johnlev 		#
    197  6784   johnlev 		# Add the 'xvm' user if it doesn't exist.
    198  6784   johnlev 		#
    199  6784   johnlev 		XVM_LIN="xvm:x:60:60:xVM User:/:"
    200  6784   johnlev 		cur_name=`awk -F: '$3 == 60 { print $1 }' $dest`
    201  6784   johnlev 		cur_id=`awk -F: '$1 == "xvm" { print $3 }' $dest`
    202  6784   johnlev 		if [ ! -z "$cur_name" -a "$cur_name" != "xvm" ]; then
    203  6784   johnlev 			echo "ERROR: Reserved UID 60 already assigned" \
    204  6784   johnlev 			    "to '$cur_name'" >> /tmp/CLEANUP
    205  6784   johnlev 		elif [ ! -z "$cur_id" -a "$cur_id" != "60" ]; then
    206  6784   johnlev 			echo "NOTE: xvm username already assigned" \
    207  6784   johnlev 			    "to id '$cur_id'" >> /tmp/CLEANUP
    208  9261    Darren 		elif grep "$XVM_LIN" $dest > /dev/null 2>&1; then
    209  6784   johnlev 			:
    210  6784   johnlev 		else
    211  8897    Renaud 			sed '/^gdm:x/ a\
    212  8897    Renaud '"$XVM_LIN"'' $dest > $TEMPF
    213  8897    Renaud 			mv -f $TEMPF $dest
    214  6784   johnlev 		fi
    215  7721      Doug 		#
    216  7721      Doug 		# Add the 'openldap' user if it doesn't exist.
    217  7721      Doug 		#
    218  7721      Doug 		OPENLDAP_LIN="openldap:x:75:75:OpenLDAP User:/:"
    219  7721      Doug 		cur_name=`awk -F: '$3 == 75 { print $1 }' $dest`
    220  7721      Doug 		cur_id=`awk -F: '$1 == "openldap" { print $3 }' $dest`
    221  7721      Doug 		if [ ! -z "$cur_name" -a "$cur_name" != "openldap" ]; then
    222  7721      Doug 			echo "ERROR: Reserved UID 75 already assigned" \
    223  7721      Doug 			    "to '$cur_name'" >> /tmp/CLEANUP
    224  7721      Doug 		elif [ ! -z "$cur_id" -a "$cur_id" != "75" ]; then
    225  7721      Doug 			echo "NOTE: openldap username already assigned" \
    226  7721      Doug 			    "to id '$cur_id'" >> /tmp/CLEANUP
    227  9261    Darren 		elif grep "$OPENLDAP_LIN" $dest > /dev/null 2>&1; then
    228  7721      Doug 			:
    229  7721      Doug 		else
    230  8897    Renaud 			sed '/^mysql:x/ a\
    231  8897    Renaud '"$OPENLDAP_LIN"'' $dest > $TEMPF
    232  8897    Renaud 			mv -f $TEMPF $dest
    233  7721      Doug 		fi
    234  6784   johnlev 
    235  7681       tim 		#
    236  7681       tim 		# Add the 'zfssnap' user if it doesn't exist.
    237  7681       tim 		#
    238  7681       tim 		ZSNAP_LIN="zfssnap:x:51:12:ZFS Automatic Snapshots Reserved UID:/:/usr/bin/pfsh"
    239  7681       tim 		cur_name=`awk -F: '$3 == 51 { print $1 }' $dest`
    240  7681       tim 		cur_id=`awk -F: '$1 == "zfssnap" { print $3 }' $dest`
    241  7681       tim 		if [ ! -z "$cur_name" -a "$cur_name" != "zfssnap" ]; then
    242  7681       tim 			echo "ERROR: Reserved UID 51 already assigned" \
    243  7681       tim 			    "to '$cur_name'" >> /tmp/CLEANUP
    244  7681       tim 		elif [ ! -z "$cur_id" -a "$cur_id" != "51" ]; then
    245  7681       tim 			echo "NOTE: zfssnap username already assigned" \
    246  7681       tim 			    "to id '$cur_id'" >> /tmp/CLEANUP
    247  9261    Darren 		elif grep "$ZSNAP_LIN" $dest > /dev/null 2>&1; then
    248  7681       tim 			:
    249  7681       tim 		else
    250  8897    Renaud 			sed '/^gdm:x/ a\
    251  8897    Renaud '"$ZSNAP_LIN"'' $dest > $TEMPF
    252  8897    Renaud 			mv -f $TEMPF $dest
    253  7681       tim 		fi
    254  9890    Darren 
    255  9890    Darren 		#
    256  9890    Darren 		# Add the 'upnp' user if it doesn't exist.
    257  9890    Darren 		#
    258  9890    Darren 		UPNP_LIN="upnp:x:52:52:UPnP Server Reserved UID:/var/coherence:/bin/ksh"
    259  9890    Darren 		cur_name=`awk -F: '$3 == 52 { print $1 }' $dest`
    260  9890    Darren 		cur_id=`awk -F: '$1 == "upnp" { print $3 }' $dest`
    261  9890    Darren 		if [ ! -z "$cur_name" -a "$cur_name" != "upnp" ]; then
    262  9890    Darren 			echo "ERROR: Reserved UID 52 already assigned" \
    263  9890    Darren 			    "to '$cur_name'" >> /tmp/CLEANUP
    264  9890    Darren 		elif [ ! -z "$cur_id" -a "$cur_id" != "52" ]; then
    265  9890    Darren 			echo "NOTE: upnp username already assigned" \
    266  9890    Darren 			    "to id '$cur_id'" >> /tmp/CLEANUP
    267  9890    Darren 		elif grep "$UPNP_LIN" $dest > /dev/null 2>&1; then
    268  9890    Darren 			:
    269  9890    Darren 		else
    270  9890    Darren 			sed '/^zfssnap:x/ a\
    271  9890    Darren '"$UPNP_LIN"'' $dest > $TEMPF
    272  9890    Darren 			mv -f $TEMPF $dest
    273  9890    Darren 		fi
    274     0    stevel 	fi
    275     0    stevel done
    276     0    stevel 
    277     0    stevel exit 0
    278