소스 검색

Changing user passwords

Bob Mottram 9 년 전
부모
커밋
d64d747e03
1개의 변경된 파일17개의 추가작업 그리고 6개의 파일을 삭제
  1. 17
    6
      src/freedombone-controlpanel

+ 17
- 6
src/freedombone-controlpanel 파일 보기

@@ -40,6 +40,9 @@ ADMIN_USER=
40 40
 UPGRADE_SCRIPT_NAME="${PROJECT_NAME}-upgrade"
41 41
 UPDATE_DATE_SCRIPT=/usr/bin/updatedate
42 42
 
43
+# Minimum number of characters in a password
44
+MINIMUM_PASSWORD_LENGTH=8
45
+
43 46
 USB_DRIVE=sdb
44 47
 # get default USB from config file
45 48
 CONFIG_FILE=$HOME/${PROJECT_NAME}.cfg
@@ -196,12 +199,20 @@ function change_password {
196 199
     if [ ! $SELECTED_USERNAME ]; then
197 200
         return
198 201
     fi
199
-    clear
200
-    echo -n $"Change password for"
201
-    echo " $SELECTED_USERNAME"
202
-    echo ""
203
-    su -c "passwd" - $SELECTED_USERNAME
204
-    any_key
202
+
203
+    dialog --title $"Change password" \
204
+           --passwordbox $"New password for user $SELECTED_USERNAME" 8 40 2> $data
205
+    newpassword=$(<$data)
206
+    if [ ${#newpassword} -lt ${MINIMUM_PASSWORD_LENGTH} ]; then
207
+        dialog --title $"Change password" \
208
+               --msgbox $"The password should be ${MINIMUM_PASSWORD_LENGTH} or more characters" 6 40
209
+        return
210
+    fi
211
+
212
+    echo "$SELECTED_USERNAME:$newpassword"|chpasswd
213
+
214
+    dialog --title $"Change password" \
215
+           --msgbox $"Password for $SELECTED_USERNAME was changed" 6 40
205 216
 }
206 217
 
207 218
 function irc_set_global_password {