Una vez instalado el software Solaris en el sistema, éste se rearranca. Antes de que finalice el proceso de arranque, el sistema pide la contraseña raíz. El sistema no podrá concluir el arranque hasta que alguien finalice el arranque.
Una secuencia de fin denominada set_root_pw se guarda en el directorio auto_install_sample. La secuencia de fin muestra cómo fijar automáticamente la contraseña raíz, sin necesidad de indicador. set_root_pw se muestra en el Ejemplo 24-4.
#!/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 file1 cp /a/etc/shadow /a/etc/shadow.orig2 mv /a/etc/shadow /a/etc/shadow.orig nawk -F: '{ if ( $1 == "root" )3 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.orig4 # set the flag so sysidroot won't prompt for the root password sed -e 's/0 # root/1 # root/' ${SI_SYS_STATE}> /tmp/state.$$5 mv /tmp/state.$$ ${SI_SYS_STATE} |
Fija la variable PASSWD en una contraseña raíz encriptada que se obtiene de una entrada existente en un archivo /etc/shadow del sistema.
Crea un archivo de entrada temporal de /a/etc/shadow.
Cambia la entrada raíz del archivo /etc/shadow por el sistema recién instalado con $PASSWD como campo de contraseña.
Retira el archivo temporal /a/etc/shadow.
Cambia la entrada de 0 a 1 en el archivo de estado para que no se le pida al usuario la contraseña raíz. Es posible acceder al archivo de estado mediante la variable SI_SYS_STATE, que tiene un valor actual de /a/etc/.sysIDtool.state. Para evitar problemas con las secuencias si cambia este valor, haga siempre referencia a este archivo con la variable de entorno $SI_SYS_STATE. El comando sed que aparece aquí contiene un carácter de tabulación después de 0 y después de 1.
Si fija la contraseña raíz del sistema con una secuencia de fin, los usuarios podrían intentar descubrir la contraseña raíz desde la contraseña encriptada en la secuencia de fin. Procure proteger el sistema a fin de que los usuarios no puedan descubrir la contraseña raíz.