[+] bash - czasowa zmiana has

Potrzebujesz pomocy z C, C++, perl, python, itp.
Awatar użytkownika
redelek
Posty: 89
Rejestracja: 19 marca 2007, 13:45

[+] bash - czasowa zmiana hasła użytkownika

Post autor: redelek »

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

Kod: Zaznacz cały

* 23 * * 1 /root/skrypty/zmiana_hasla.sh
Skrypt

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
Dzięki Redelek
mariaczi
Member
Posty: 1343
Rejestracja: 08 lutego 2008, 12:58
Lokalizacja: localhost@śląskie

Post autor: mariaczi »

redelek pisze: CRONTAB

Kod: Zaznacz cały

* 23 * * 1 /root/skrypty/zmiana_hasla.sh
Zmień na

Kod: Zaznacz cały

59 23 * * 1 /root/skrypty/zmiana_hasla.sh
i zobacz jaki będzie efekt.
Napisz jeszcze dokładnie, w którym miejscu konfiguracji crontaba dodałeś wpis: w /etc czy crontab -e?
Awatar użytkownika
redelek
Posty: 89
Rejestracja: 19 marca 2007, 13:45

Post autor: redelek »

Dziękuję, zadziałało. Standardowo wprowadzam przez:

Kod: Zaznacz cały

crontab -e
Ciekawe, bo na innym serwerze działa właśnie w takiej konfiguracji, a tu nie. Różnica taka, że tamten to Ubuntu, a ten z którym był problem to Debian 5.0. No nic, dziękuję, ważne, że działa.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Jeśli działa to poprawnie (uruchamia się tylko raz) w takiej konfiguracji jak podałeś w pierwszym poście, to jestem szczerze zdziwiony ;)
pyrion
Posty: 42
Rejestracja: 13 czerwca 2009, 12:04

Post autor: pyrion »

Do generowania hasła możesz wykorzystać pwgen.
ODPOWIEDZ