The attached patch to the config script of passwd shoul avoid "forgetting" the login name of the first created user when going back because the password confirmation does not match the password.
(this is of course about the special case where a normal user is to be created, that is usually during the initial system install) --
--- passwd.config 2005-04-26 20:21:02.000000000 +0200 +++ passwd.config.new 2005-04-26 20:17:00.000000000 +0200 @@ -103,7 +103,7 @@ # Main loop starts here. Use a state machine to allow jumping back to # previous questions. STATE=0 -while [ "$STATE" != '9' -a "$STATE" != '-1' ]; do +while [ "$STATE" != '10' -a "$STATE" != '-1' ]; do case "$STATE" in 0) # Ask how the password files should be set up. @@ -226,13 +226,20 @@ fi fi db_input critical passwd/username || true + fi + ;; + 8) + # Prompt for password + db_get passwd/make-user + if [ "$RET" = true ] && ! is_system_user; then + LOOP="" db_input critical passwd/user-password || true COMPARE_PW='' db_input high passwd/user-password-again \ && COMPARE_PW=1 || true fi ;; - 8) + 9) # Verify and make user. db_get passwd/make-user if [ "$RET" = true ] && ! is_system_user; then @@ -259,7 +266,7 @@ db_input critical passwd/password-mismatch db_fset passwd/user-password seen false db_fset passwd/user-password-again seen false - STATE=5 + STATE=8 continue fi if [ -z "$USER_PW" ]; then @@ -269,7 +276,7 @@ db_input critical passwd/password-empty db_fset passwd/user-password seen false db_fset passwd/user-password-again seen false - STATE=5 + STATE=8 continue fi