#!/bin/sh
#
# @(#)set_root_pw 1.4 93/12/23 SMI
#
# This is an example Bourne shell script to be run after installation.
# It sets the system's root password to the entry defined in PASSWD.
# The encrypted password is obtained from an existing root password entry
# in /etc/shadow from an installed machine.
echo "setting password for root"
# set the root password
PASSWD=dKO5IBkSF42lw
#create a temporary input file [Sets the variable PASSWD to an encrypted
root password obtained from an existing entry in a system's /etc/shadow file.]
cp /a/etc/shadow /a/etc/shadow.orig [Creates a temporary input file of /a/etc/shadow.]
mv /a/etc/shadow /a/etc/shadow.orig
nawk -F: '{
if ( $1 == "root" ) [Changes the root entry in the /etc/shadow file
for the newly installed system using $PASSWD as
the password field.]
printf"%s:%s:%s:%s:%s:%s:%s:%s:%s\n",$1,passwd,$3,$4,$5,$6,$7,$8,$9
else
printf"%s:%s:%s:%s:%s:%s:%s:%s:%s\n",$1,$2,$3,$4,$5,$6,$7,$8,$9
}' passwd="$PASSWD" /a/etc/shadow.orig > /a/etc/shadow
#remove the temporary file
rm -f /a/etc/shadow.orig [Removes the temporary /a/etc/shadow
file.]
# set the flag so sysidroot won't prompt for the root password
sed -e 's/0 # root/1 # root/' ${SI_SYS_STATE} > /tmp/state.$$ [Changes the entry from 0 to a 1 in the state file, so that the user is not prompted for the root
password. The state file is accessed using the variable SI_SYS_STATE, whose value currently is /a/etc/.sysIDtool.state.
(To avoid problems with your scripts if this value changes, always reference
this file using $SI_SYS_STATE.) The sed
command shown here contains a tab character after the 0
and after the 1.]
mv /tmp/state.$$ ${SI_SYS_STATE}
|