diff --git a/dapostinstall.sh b/dapostinstall.sh index 03d8015..91ff0d5 100755 --- a/dapostinstall.sh +++ b/dapostinstall.sh @@ -344,9 +344,22 @@ chmod 755 da_cli.sh echo "Generowanie hasla DirectAdmin" -min_length=8 -max_length=18 -DA_ADMINPASS=$(tr -dc '[:alnum:]' < /dev/urandom | fold -w "$((RANDOM % (max_length - min_length + 1) + min_length))" | grep -E '[[:digit:]]' | grep -E '[[:upper:]]' | head -n 1) +min_length=12 +max_length=24 + +DA_ADMINPASS=$( + while true; do + base_part=$(tr -dc '[:alnum:]' < /dev/urandom | fold -w "$((RANDOM % (max_length - min_length - 1) + min_length - 1))" | head -n 1) + special_chars=$(tr -dc '-.,_' < /dev/urandom | fold -w "$((RANDOM % 3 + 1))" | head -n 1) + password="${base_part:0:1}${special_chars}${base_part:1}" + + if echo "$password" | grep -qE '[[:digit:]]' && echo "$password" | grep -qE '[[:upper:]]' && echo "$password" | grep -qE '[-.,_]'; then + break + fi + done + + echo $password +) DA_OPTIONSCONF=$CBDIR/options.conf DA_USERCONF=$DADIR/data/users/admin/user.conf