Votre système se réinitialise une fois que le logiciel Solaris est installé. Avant que la procédure d'initialisation ne se termine, le système vous invite à saisir votre mot de passe superutilisateur. Le système ne s'initialisera pas tant que vous n'aurez pas saisi un mot de passe.
Un script de fin nommé set_root_pw figure en exemple dans le répertoire auto_install_sample. Ce script de fin illustre la procédure de définition automatique du mot de passe superutilisateur, sans invite. set_root_pw fait l'objet de l'Exemple 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}
|
Règle la variable PASSWD sur un mot de passe superutilisateur chiffré, issu d'une entrée existante du fichier /etc/shadow d'un système.
Crée un fichier temporaire de /a/etc/shadow.
Change l'entrée superutilisateur du fichier /etc/shadow du nouveau système installé en utilisant $PASSWD comme champ de mot de passe.
Supprime le fichier temporaire /a/etc/shadow.
Change l'entrée 0 en 1 dans le fichier d'état, de sorte que l'utilisateur n'a pas à entrer son mot de passe superutilisateur. La variable SI_SYS_STATE, dont la valeur actuelle est /a/etc/.sysIDtool.state, donne accès au fichier d'état. Pour éviter de rencontrer des problèmes si cette valeur était modifiée, référencez toujours ce fichier à l'aide de $SI_SYS_STATE. Dans la commande sed illustrée ici, un caractère de tabulation suit la valeur 0 et la valeur 1.
si vous définissez le mot de passe superutilisateur d'un système dans un script de fin, d'autres utilisateurs risquent de tenter de le découvrir à partir du mot de passe crypté dans votre script de fin. Assurez-vous que vous êtes bien protégé contre les tentatives de découverte de votre mot de passe superutilisateur.