[+] bash - czasowa zmiana hasła użytkownika
: 25 stycznia 2011, 09:22
Witam,
Napisałem sobie skrypt który zmienia raz na tydzień hasło użytkownikowi ftp2 i wysyła nowe hasło na e-mail. Problem w tym, że jak skrypt uruchomię ręcznie to działa bez problemu. Niestety jak dodam go do crontab to skrypt wykonuje się 17 razy.
Nie mam pojęcia dlaczego tak się dzieje i co jest nie tak. Będę bardzo zobowiązany za informację lub wskazówki.
CRONTAB
Skrypt
Dzięki Redelek
Napisałem sobie skrypt który zmienia raz na tydzień hasło użytkownikowi ftp2 i wysyła nowe hasło na e-mail. Problem w tym, że jak skrypt uruchomię ręcznie to działa bez problemu. Niestety jak dodam go do crontab to skrypt wykonuje się 17 razy.
Nie mam pojęcia dlaczego tak się dzieje i co jest nie tak. Będę bardzo zobowiązany za informację lub wskazówki.
CRONTAB
Kod: Zaznacz cały
* 23 * * 1 /root/skrypty/zmiana_hasla.sh
Kod: Zaznacz cały
## FUNKCJA GENERUJACA LOSOWE HASLO ##
function mkpass() {
DLUGOSC=10 # ustawiamy dlugosc generowanych hasel
TABELA1=( q w e r t y u i o p a s d f g h j k l z x c v b n m
Q W E R T Y U I O P A S D F G H J K L Z X C V B N M
1 2 3 4 5 6 7 8 9 0 \@ \# \$ \% \& \* \( \) \_ \- \= \+ \? \< \>
)
MODNUM=${#TABELA1
[*]}
LICZNIK=0
while [ ${LICZNIK:=0} -lt $DLUGOSC ]
do
NUMER=$(($RANDOM%$MODNUM))
PASS="$PASS""${TABELA1[$NUMER]}"
((LICZNIK++))
done
echo $PASS
}
# ZMIENNE
USR=ftp2
HASLO=`mkpass`
EMAIL="[email protected]"
/usr/sbin/chpasswd <<KONIEC
$USR:$HASLO
KONIEC
echo "######Changing password for user ####################
Changing the password for the user $USR successfully !
The new password is $HASLO " | mail -s "Changing password for user $USR" $EMAIL