Solaris 9 12/03 Installationshandbuch

Definieren des Root-Passworts eines Systems mit einem Finish-Skript

Nach der Installation der Solaris-Software wird das System neu gebootet. Vor dem Abschluss des Boot-Vorgangs fordert das System zur Eingabe des Root-Passworts auf. Der Boot-Vorgang kann erst abgeschlossen werden, wenn ein Passwort eingegeben wird.

Ein Finish-Skript mit dem Namen set_root_pw ist im Verzeichnis auto_install_sample gespeichert. Dieses Finish-Skript zeigt, wie das Root-Passwort automatisch, ohne Eingabeaufforderung definiert werden kann. set_root_pw sehen Sie in Beispiel 24–5.


Hinweis –

Wenn Sie das Root-Passwort eines Systems mit einem Finish-Skript definieren, könnten Benutzer versuchen, das Root-Passwort anhand des verschlüsselten Passworts in dem Finish-Skript zu ermitteln. Sichern Sie das System gegen Versuche ab, das Root-Passwort auf diese Weise zu ermitteln.



Beispiel 24–5 Definieren des Root-Passworts eines Systems mit einem Finish-Skript

 #!/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
 cp /a/etc/shadow /a/etc/shadow.orig
 
 mv /a/etc/shadow /a/etc/shadow.orig
 nawk -F: '{
         if ( $1 == "root" )
     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
 # set the flag so sysidroot won't prompt for the root password
 sed -e 's/0 # root/1 # root/' ${SI_SYS_STATE}> /tmp/state.$$
  mv /tmp/state.$$ ${SI_SYS_STATE}

Nachfolgend werden einige Befehle dieses Beispiels erläutert.