1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
| #!/bin/ksh
set -x
#########################################
# Nom du script: Change_SUN.ksh #
#########################################
# Version : @(#) V1.1 By #
# #
#########################################
# Cree le : / /2009 Par : PST_OS #
########################################
# Objet : #
# Changement de mot de passe #
# #
########################################
# Modifie le : #
# #
############### Remarques ###
# #
# #
############### But du script ##
# #
# #
############### Acces et Droits #############
# Acces de Droits d'appel du script : #
# Mode : 700 Proprietaire : root Groupe : #
#########################################
# Environnement logiciel : #
# OS : SUN #
# OS : #
#############################
############### Variables locales ############
# Initialisation de(s) variable(s)
User="root"
ProgramName=$(/usr/bin/basename $0)
Version="V1.1SUN"
############ Recuperation des variables specifiques au script #####
Chaine=$1
############ Verification que le script est lance sous root ########
Aijeledroit() {
if [ "$LOGNAME" != "root" ]
then
/usr/bin/echo "Pour lancer cette procedure vous devez etre root"
exit 1
fi
} # END Aijeledroit
############### Verification du type OS ####################
SUN() {
if [ `/usr/bin/uname -s` != "SunOS" ]
then
/usr/bin/echo "Vous n'etes pas sur le bon OS "
exit 1
fi
} # END SUN
##################################
# Fonction Usage #
##################################
usage() {
/usr/bin/echo
/usr/bin/echo " Nom du script : ${ProgramName} "
/usr/bin/echo " Version: ${Version}"
/usr/bin/echo ""
/usr/bin/echo " Usage: ${ProgramName} Parm1"
/usr/bin/echo " Parm1 represente 2 caracteres \n"
/usr/bin/echo " Usage: ${ProgramName} -h "
/usr/bin/echo " Usage: ${ProgramName} -v \n"
/usr/bin/echo " Ex: ${ProgramName} HS"
/usr/bin/echo ""
exit 3
} # END usage
############### Debut du script ########################
Aijeledroit
SUN
####################################################
# Verification des arguments de la ligne de commande #
####################################################
while getopts :hv option
do
case $option in
h)
usage
;;
v)
/usr/bin/echo $Version
exit 1
;;
?)
/usr/bin/echo "Option inconnue ..."
exit 1
;;
esac
done
############### Verification du nombre de parametre ############
[ $# -ne 1 ] && {
echo " Attention .... \n"
usage
exit 1
}
# Construction du mdp
# Les 2 premiers caracteres du user
#### grep $User /etc/passwd |awk -F: '{print$1}'
Deux=`/usr/bin/echo $User |/usr/bin/awk '{print substr($1,1,2)}'`
# les 3 derniers caracteres du hostname
Trois=`/usr/bin/hostname |/usr/bin/awk '{ print substr($1,length($1)-2,3)}'`
# On test si 8 caracteres
Construcmdp="${Deux}${Trois}-${Chaine}"
echo $Construcmdp
echo ${#Construcmdp}
[ ${#Construcmdp} -ne 8 ] && {
/usr/bin/echo "Pas bon ..."
exit 1
}
echo $Construcmdp
# Creation du mdp crypte
seed=`/usr/bin/date +%H+%M+10`
echo $seed
construc=`/usr/bin/echo "$Construcmdp""${seed}" | /usr/lib/makekey`
/usr/bin/echo $construc
# Test de version OS
if [ `/usr/bin/uname -r`==5.8 ]
then
# /usr/sbin/usermod -p -l $construc $User
passwd $construc $User
elif [ `/usr/bin/uname -r`==2.6 ]
then
# /usr/sbin/usermod -F -p $construc $User
#else
# echo "OS (Release) non supporte ..."
exit 1
fi
################ Fin du script ############################# |
Partager