瀏覽代碼

Username validation function

Bob Mottram 8 年之前
父節點
當前提交
55a446e0b3

+ 2
- 2
src/freedombone-app-blog 查看文件

@@ -244,7 +244,7 @@ function restore_local_blog {
244 244
         fi
245 245
         for d in /home/*/ ; do
246 246
             USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
247
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
247
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
248 248
                 if [ -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post ]; then
249 249
                     mv /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/*.md /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post
250 250
                 fi
@@ -296,7 +296,7 @@ function restore_remote_blog {
296 296
         fi
297 297
         for d in /home/*/ ; do
298 298
             USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
299
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
299
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
300 300
                 if [ -d /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post ]; then
301 301
                     mv /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/*.md /var/www/${FULLBLOG_DOMAIN_NAME}/htdocs/content/$USERNAME/blog/uncategorized/post
302 302
                 fi

+ 2
- 2
src/freedombone-app-emacs 查看文件

@@ -49,7 +49,7 @@ function upgrade_emacs {
49 49
 function backup_local_emacs {
50 50
     for d in /home/*/ ; do
51 51
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
52
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
52
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
53 53
             if [ -d /home/$USERNAME/.emacs.d ]; then
54 54
                 echo $"Backing up Emacs config for $USERNAME"
55 55
                 if [ -f /home/$USERNAME/.emacs ]; then
@@ -67,7 +67,7 @@ function restore_local_emacs {
67 67
     if [ -d $USB_MOUNT/backup/emacs ]; then
68 68
         for d in $USB_MOUNT/backup/emacs/*/ ; do
69 69
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
70
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
70
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
71 71
                 if [ ! -d /home/$USERNAME ]; then
72 72
                     ${PROJECT_NAME}-adduser $USERNAME
73 73
                 fi

+ 1
- 1
src/freedombone-app-irc 查看文件

@@ -61,7 +61,7 @@ function irc_set_global_password {
61 61
             # replace the password for all users
62 62
             for d in /home/*/ ; do
63 63
                 IRC_USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
64
-                if [[ $IRC_USERNAME != "git" && $IRC_USERNAME != "mirrors" && $IRC_USERNAME != "sync" && $IRC_USERNAME != "tahoelafs" ]]; then
64
+                if [[ $(is_valid_user $IRC_USERNAME) == "1" ]]; then
65 65
                     if [ -f /home/$IRC_USERNAME/.irssi/config ]; then
66 66
                         sed -i "s|$EXISTING_IRC_PASSWORD|$NEW_IRC_PASSWORD|g" /home/$IRC_USERNAME/.irssi/config
67 67
                         chown -R $IRC_USERNAME:$IRC_USERNAME /home/$IRC_USERNAME/.irssi

+ 2
- 2
src/freedombone-app-syncthing 查看文件

@@ -278,7 +278,7 @@ function restore_local_syncthing {
278 278
     if [ -d $USB_MOUNT/backup/syncthing ]; then
279 279
         for d in $USB_MOUNT/backup/syncthing/*/ ; do
280 280
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
281
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
281
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
282 282
                 if [ ! -d /home/$USERNAME ]; then
283 283
                     ${PROJECT_NAME}-adduser $USERNAME
284 284
                 fi
@@ -366,7 +366,7 @@ function restore_remote_syncthing {
366 366
     if [ -d $SERVER_DIRECTORY/backup/syncthing ]; then
367 367
         for d in $SERVER_DIRECTORY/backup/syncthing/*/ ; do
368 368
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
369
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
369
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
370 370
                 if [ ! -d /home/$USERNAME ]; then
371 371
                     ${PROJECT_NAME}-adduser $USERNAME
372 372
                 fi

+ 1
- 1
src/freedombone-app-tahoelafs 查看文件

@@ -50,7 +50,7 @@ function change_password_tahoelafs {
50 50
 function reconfigure_tahoelafs {
51 51
     for d in /home/*/ ; do
52 52
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
53
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
53
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
54 54
             if [ -d /home/$USERNAME/.tahoe ]; then
55 55
                 su -c "$TAHOE_COMMAND stop" - $USERNAME
56 56
                 rm -rf /home/$USERNAME/.tahoe

+ 1
- 1
src/freedombone-app-xmpp 查看文件

@@ -246,7 +246,7 @@ function remove_xmpp {
246 246
 function xmpp_email_headers {
247 247
     for d in /home/*/ ; do
248 248
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
249
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
249
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
250 250
             if [ -f /home/$USERNAME/.muttrc ]; then
251 251
                 if ! grep -q "Jabber-ID" /home/$USERNAME/.muttrc; then
252 252
                     echo "my_hdr Jabber-ID: ${USERNAME}@${HOSTNAME}" >> /home/$USERNAME/.muttrc

+ 3
- 1
src/freedombone-archive-mail 查看文件

@@ -33,9 +33,11 @@ PROJECT_NAME='freedombone'
33 33
 export TEXTDOMAIN=${PROJECT_NAME}-archive-mail
34 34
 export TEXTDOMAINDIR="/usr/share/locale"
35 35
 
36
+source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-validation
37
+
36 38
 for d in /home/*/ ; do
37 39
     USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
38
-    if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
40
+    if [[ $(is_valid_user $USERNAME) == "1" ]]; then
39 41
         # for every user who has a mail directory
40 42
         if [ -d /home/$USERNAME/Maildir ]; then
41 43
             MUTTRC=/home/$USERNAME/.muttrc

+ 1
- 1
src/freedombone-backup-local 查看文件

@@ -98,7 +98,7 @@ function backup_users {
98 98
     # Backup user files
99 99
     for d in /home/*/ ; do
100 100
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
101
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
101
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
102 102
 
103 103
             # Backup any gpg keys
104 104
             if [ -d /home/$USERNAME/.gnupg ]; then

+ 2
- 2
src/freedombone-backup-remote 查看文件

@@ -122,7 +122,7 @@ function backup_configuration {
122 122
 function backup_users {
123 123
     for d in /home/*/ ; do
124 124
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
125
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
125
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
126 126
 
127 127
             # personal settings
128 128
             if [ -d /home/$USERNAME/personal ]; then
@@ -451,7 +451,7 @@ do
451 451
         # Social key management
452 452
         for d in /home/*/ ; do
453 453
             USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
454
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
454
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
455 455
                 disperse_key_shares $USERNAME $REMOTE_DOMAIN $REMOTE_SSH_PORT "$REMOTE_PASSWORD" $REMOTE_SERVER
456 456
             fi
457 457
         done

+ 2
- 2
src/freedombone-base-email 查看文件

@@ -1050,7 +1050,7 @@ function spam_filtering {
1050 1050
     echo '#!/bin/bash' > /usr/bin/filterspam
1051 1051
     echo 'for d in /home/*/ ; do' >> /usr/bin/filterspam
1052 1052
     echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterspam
1053
-    echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then' >> /usr/bin/filterspam
1053
+    echo '    if [[ $USERNAME != "git" && $USERNAME != "go" && $USERNAME != "gogs" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then' >> /usr/bin/filterspam
1054 1054
     echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-spam' >> /usr/bin/filterspam
1055 1055
     echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterspam
1056 1056
     echo '           exit' >> /usr/bin/filterspam
@@ -1072,7 +1072,7 @@ function spam_filtering {
1072 1072
     echo '#!/bin/bash' > /usr/bin/filterham
1073 1073
     echo 'for d in /home/*/ ; do' >> /usr/bin/filterham
1074 1074
     echo '    USERNAME=$(echo "$d" | awk -F '"'"'/'"'"' '"'"'{print $3}'"'"')' >> /usr/bin/filterham
1075
-    echo '    if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then' >> /usr/bin/filterham
1075
+    echo '    if [[ $USERNAME != "git" && $USERNAME != "go" && $USERNAME != "gogs" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then' >> /usr/bin/filterham
1076 1076
     echo '        MAILDIR=/home/$USERNAME/Maildir/.learn-ham' >> /usr/bin/filterham
1077 1077
     echo '        if [ ! -d "$MAILDIR" ]; then' >> /usr/bin/filterham
1078 1078
     echo '            exit' >> /usr/bin/filterham

+ 1
- 1
src/freedombone-controlpanel 查看文件

@@ -459,7 +459,7 @@ function show_users {
459 459
     echo '--------------------------------------------------------------------------'
460 460
     for d in /home/*/ ; do
461 461
         USRNAME=$(echo "$d" | awk -F '/' '{print $3}')
462
-        if [[ $USRNAME != "git" && $USRNAME != "mirrors" && $USRNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
462
+        if [[ $(is_valid_user $USRNAME) == "1" ]]; then
463 463
             echo -n -e "$(pad_string ${USRNAME})"
464 464
             # get the SIP extension
465 465
             SIPEXT=

+ 11
- 11
src/freedombone-restore-local 查看文件

@@ -238,7 +238,7 @@ function restore_mutt_settings {
238 238
     if [ -d $USB_MOUNT/backup/mutt ]; then
239 239
         for d in $USB_MOUNT/backup/mutt/*/ ; do
240 240
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
241
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
241
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
242 242
                 if [ ! -d /home/$USERNAME ]; then
243 243
                     ${PROJECT_NAME}-adduser $USERNAME
244 244
                 fi
@@ -272,7 +272,7 @@ function restore_gpg {
272 272
     if [ -d $USB_MOUNT/backup/gnupg ]; then
273 273
         for d in $USB_MOUNT/backup/gnupg/*/ ; do
274 274
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
275
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
275
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
276 276
                 if [ ! -d /home/$USERNAME ]; then
277 277
                     ${PROJECT_NAME}-adduser $USERNAME
278 278
                 fi
@@ -309,7 +309,7 @@ function restore_procmail {
309 309
     if [ -d $USB_MOUNT/backup/procmail ]; then
310 310
         for d in $USB_MOUNT/backup/procmail/*/ ; do
311 311
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
312
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
312
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
313 313
                 if [ ! -d /home/$USERNAME ]; then
314 314
                     ${PROJECT_NAME}-adduser $USERNAME
315 315
                 fi
@@ -338,7 +338,7 @@ function restore_spamassassin {
338 338
     if [ -d $USB_MOUNT/backup/spamassassin ]; then
339 339
         for d in $USB_MOUNT/backup/spamassassin/*/ ; do
340 340
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
341
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
341
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
342 342
                 if [ -d $USB_MOUNT/backup/spamassassin/$USERNAME ]; then
343 343
                     if [ ! -d /home/$USERNAME ]; then
344 344
                         ${PROJECT_NAME}-adduser $USERNAME
@@ -399,7 +399,7 @@ function restore_user_ssh_keys {
399 399
     if [ -d $USB_MOUNT/backup/ssh ]; then
400 400
         for d in $USB_MOUNT/backup/ssh/*/ ; do
401 401
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
402
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
402
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
403 403
                 if [ ! -d /home/$USERNAME ]; then
404 404
                     ${PROJECT_NAME}-adduser $USERNAME
405 405
                 fi
@@ -428,7 +428,7 @@ function restore_user_config {
428 428
     if [ -d $USB_MOUNT/backup/config ]; then
429 429
         for d in $USB_MOUNT/backup/config/*/ ; do
430 430
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
431
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
431
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
432 432
                 if [ ! -d /home/$USERNAME ]; then
433 433
                     ${PROJECT_NAME}-adduser $USERNAME
434 434
                 fi
@@ -469,7 +469,7 @@ function restore_user_monkeysphere {
469 469
     if [ -d $USB_MOUNT/backup/monkeysphere ]; then
470 470
         for d in $USB_MOUNT/backup/monkeysphere/*/ ; do
471 471
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
472
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
472
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
473 473
                 if [ ! -d /home/$USERNAME ]; then
474 474
                     ${PROJECT_NAME}-adduser $USERNAME
475 475
                 fi
@@ -508,7 +508,7 @@ function restore_user_fin {
508 508
     if [ -d $USB_MOUNT/backup/fin ]; then
509 509
         for d in $USB_MOUNT/backup/fin/*/ ; do
510 510
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
511
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
511
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
512 512
                 if [ ! -d /home/$USERNAME ]; then
513 513
                     ${PROJECT_NAME}-adduser $USERNAME
514 514
                 fi
@@ -537,7 +537,7 @@ function restore_user_local {
537 537
     if [ -d $USB_MOUNT/backup/local ]; then
538 538
         for d in $USB_MOUNT/backup/local/*/ ; do
539 539
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
540
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
540
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
541 541
                 if [ ! -d /home/$USERNAME ]; then
542 542
                     ${PROJECT_NAME}-adduser $USERNAME
543 543
                 fi
@@ -610,7 +610,7 @@ function restore_personal_settings {
610 610
     if [ -d $USB_MOUNT/backup/personal ]; then
611 611
         for d in $USB_MOUNT/backup/personal/*/ ; do
612 612
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
613
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
613
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
614 614
                 if [ -d $USB_MOUNT/backup/personal/$USERNAME ]; then
615 615
                     if [ ! -d /home/$USERNAME ]; then
616 616
                         ${PROJECT_NAME}-adduser $USERNAME
@@ -663,7 +663,7 @@ function restore_email {
663 663
     if [ -d $USB_MOUNT/backup/mail ]; then
664 664
         for d in $USB_MOUNT/backup/mail/*/ ; do
665 665
             USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
666
-            if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
666
+            if [[ $(is_valid_user $USERNAME) == "1" ]]; then
667 667
                 if [ ! -d /home/$USERNAME ]; then
668 668
                     ${PROJECT_NAME}-adduser $USERNAME
669 669
                 fi

+ 13
- 11
src/freedombone-restore-remote 查看文件

@@ -36,6 +36,8 @@ BACKUP_EXTRA_DIRECTORIES=/root/backup-extra-dirs.csv
36 36
 export TEXTDOMAIN=${PROJECT_NAME}-restore-remote
37 37
 export TEXTDOMAINDIR="/usr/share/locale"
38 38
 
39
+source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-validation
40
+
39 41
 SERVER_NAME=$1
40 42
 
41 43
 # whether to restore everything or just a specific application
@@ -225,7 +227,7 @@ function restore_mutt_settings {
225 227
     fi
226 228
     for d in $SERVER_DIRECTORY/backup/mutt/*/ ; do
227 229
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
228
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
230
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
229 231
             if [ -d $SERVER_DIRECTORY/backup/mutt/$USERNAME ]; then
230 232
                 if [ ! -d /home/$USERNAME ]; then
231 233
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -257,7 +259,7 @@ function restore_gpg {
257 259
     fi
258 260
     for d in $SERVER_DIRECTORY/backup/gnupg/*/ ; do
259 261
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
260
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
262
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
261 263
             if [ -d $SERVER_DIRECTORY/backup/gnupg/$USERNAME ]; then
262 264
                 if [ ! -d /home/$USERNAME ]; then
263 265
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -290,7 +292,7 @@ function restore_procmail {
290 292
     fi
291 293
     for d in $SERVER_DIRECTORY/backup/procmail/*/ ; do
292 294
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
293
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
295
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
294 296
             if [ -d $SERVER_DIRECTORY/backup/procmail/$USERNAME ]; then
295 297
                 if [ ! -d /home/$USERNAME ]; then
296 298
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -317,7 +319,7 @@ function restore_spamassassin {
317 319
     fi
318 320
     for d in $SERVER_DIRECTORY/backup/spamassassin/*/ ; do
319 321
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
320
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
322
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
321 323
             if [ -d $SERVER_DIRECTORY/backup/spamassassin/$USERNAME ]; then
322 324
                 if [ ! -d /home/$USERNAME ]; then
323 325
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -363,7 +365,7 @@ function restore_ssh_keys {
363 365
     fi
364 366
     for d in $SERVER_DIRECTORY/backup/ssh/*/ ; do
365 367
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
366
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
368
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
367 369
             if [ -d $SERVER_DIRECTORY/backup/ssh/$USERNAME ]; then
368 370
                 if [ ! -d /home/$USERNAME ]; then
369 371
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -390,7 +392,7 @@ function restore_user_config {
390 392
     fi
391 393
     for d in $SERVER_DIRECTORY/backup/config/*/ ; do
392 394
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
393
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
395
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
394 396
             if [ -d $SERVER_DIRECTORY/backup/config/$USERNAME ]; then
395 397
                 if [ ! -d /home/$USERNAME ]; then
396 398
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -429,7 +431,7 @@ function restore_user_monkeysphere {
429 431
     fi
430 432
     for d in $SERVER_DIRECTORY/backup/monkeysphere/*/ ; do
431 433
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
432
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
434
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
433 435
             if [ -d $SERVER_DIRECTORY/backup/monkeysphere/$USERNAME ]; then
434 436
                 if [ ! -d /home/$USERNAME ]; then
435 437
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -466,7 +468,7 @@ function restore_user_fin {
466 468
     fi
467 469
     for d in $SERVER_DIRECTORY/backup/fin/*/ ; do
468 470
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
469
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
471
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
470 472
             if [ -d $SERVER_DIRECTORY/backup/fin/$USERNAME ]; then
471 473
                 if [ ! -d /home/$USERNAME ]; then
472 474
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -493,7 +495,7 @@ function restore_user_local {
493 495
     fi
494 496
     for d in $SERVER_DIRECTORY/backup/local/*/ ; do
495 497
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
496
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
498
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
497 499
             if [ -d $SERVER_DIRECTORY/backup/local/$USERNAME ]; then
498 500
                 if [ ! -d /home/$USERNAME ]; then
499 501
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -561,7 +563,7 @@ function restore_personal_settings {
561 563
     fi
562 564
     for d in $SERVER_DIRECTORY/backup/personal/*/ ; do
563 565
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
564
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
566
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
565 567
             if [ -d $SERVER_DIRECTORY/backup/personal/$USERNAME ]; then
566 568
                 if [ ! -d /home/$USERNAME ]; then
567 569
                     ${PROJECT_NAME}-adduser $USERNAME
@@ -608,7 +610,7 @@ function restore_email {
608 610
     fi
609 611
     for d in $SERVER_DIRECTORY/backup/mail/*/ ; do
610 612
         USERNAME=$(echo "$d" | awk -F '/' '{print $6}')
611
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
613
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
612 614
             if [ -d $SERVER_DIRECTORY/backup/mail/$USERNAME ]; then
613 615
                 if [ ! -d /home/$USERNAME ]; then
614 616
                     ${PROJECT_NAME}-adduser $USERNAME

+ 4
- 2
src/freedombone-sec 查看文件

@@ -36,6 +36,8 @@ export TEXTDOMAINDIR="/usr/share/locale"
36 36
 CONFIGURATION_FILE=/root/${PROJECT_NAME}.cfg
37 37
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
38 38
 
39
+source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-validation
40
+
39 41
 SSL_PROTOCOLS=
40 42
 SSL_CIPHERS=
41 43
 SSH_CIPHERS=
@@ -336,7 +338,7 @@ function send_monkeysphere_server_keys_to_users {
336 338
     monkeysphere_server_keys=$(monkeysphere-host show-key | grep $"OpenPGP fingerprint" | awk -F ' ' '{print $3}')
337 339
     for d in /home/*/ ; do
338 340
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
339
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
341
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
340 342
             if [ ! -d /home/$USERNAME/.monkeysphere ]; then
341 343
                 mkdir /home/$USERNAME/.monkeysphere
342 344
             fi
@@ -954,7 +956,7 @@ function export_settings {
954 956
 function refresh_gpg_keys {
955 957
     for d in /home/*/ ; do
956 958
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
957
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
959
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
958 960
             su -c 'gpg --refresh-keys' - $USERNAME
959 961
         fi
960 962
     done

+ 7
- 5
src/freedombone-syncthing 查看文件

@@ -36,6 +36,8 @@ PROJECT_NAME='freedombone'
36 36
 export TEXTDOMAIN=$PROJECT_NAME-syncthing
37 37
 export TEXTDOMAINDIR="/usr/share/locale"
38 38
 
39
+source /usr/share/${PROJECT_NAME}/utils/${PROJECT_NAME}-utils-validation
40
+
39 41
 # File which keeps track of what has already been installed
40 42
 COMPLETION_FILE=$HOME/${PROJECT_NAME}-completed.txt
41 43
 
@@ -97,7 +99,7 @@ function create_syncthing_config {
97 99
 
98 100
     for d in /home/*/ ; do
99 101
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
100
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
102
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
101 103
             echo "    <folder id=\"$USERNAME\" path=\"/home/$USERNAME/Sync/\" ro=\"false\" rescanIntervalS=\"60\" ignorePerms=\"false\" autoNormalize=\"true\">" >> $SYNCTHING_CONFIG_FILE
102 104
             # include any specified device IDs for this user
103 105
             if [ -f /home/$USERNAME/$SYNCTHING_USER_IDS_FILE ]; then
@@ -137,7 +139,7 @@ function create_syncthing_config {
137 139
     echo "" > $TEMP_IDS_FILE
138 140
     for d in /home/*/ ; do
139 141
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
140
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
142
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
141 143
             if [ -f /home/$USERNAME/$SYNCTHING_USER_IDS_FILE ]; then
142 144
                 while read -r line || [[ -n "$line" ]]; do
143 145
                     line2="$(echo -e "${line}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
@@ -177,7 +179,7 @@ function create_syncthing_config {
177 179
     echo "" > $TEMP_IDS_FILE
178 180
     for d in /home/*/ ; do
179 181
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
180
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
182
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
181 183
             if [ -f /home/$USERNAME/$SYNCTHING_USER_IDS_FILE ]; then
182 184
                 while read -r line || [[ -n "$line" ]]; do
183 185
                     line2="$(echo -e "${line}" | sed -e 's/^[[:space:]]*//' -e 's/[[:space:]]*$//')"
@@ -236,7 +238,7 @@ function create_syncthing_config {
236 238
     # This allows it to appear within the user control panel
237 239
     for d in /home/*/ ; do
238 240
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
239
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
241
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
240 242
             echo "$SYNCTHING_ID" > /home/$USERNAME/.syncthing-server-id
241 243
             chown $USERNAME:$USERNAME /home/$USERNAME/.syncthing-server-id
242 244
         fi
@@ -257,7 +259,7 @@ function user_devices_changed {
257 259
 
258 260
     for d in /home/*/ ; do
259 261
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
260
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
262
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
261 263
             if [ -f /home/$USERNAME/$SYNCTHING_UPDATE_FILE ]; then
262 264
                 CHANGED=1
263 265
             fi

+ 1
- 1
src/freedombone-utils-backup 查看文件

@@ -275,7 +275,7 @@ function set_user_permissions {
275 275
     echo $"Setting permissions"
276 276
     for d in /home/*/ ; do
277 277
         USERNAME=$(echo "$d" | awk -F '/' '{print $3}')
278
-        if [[ $USERNAME != "git" && $USERNAME != "mirrors" && $USERNAME != "sync" && $USERNAME != "tahoelafs" ]]; then
278
+        if [[ $(is_valid_user $USERNAME) == "1" ]]; then
279 279
             chown -R $USERNAME:$USERNAME /home/$USERNAME
280 280
         fi
281 281
     done

+ 9
- 0
src/freedombone-utils-validation 查看文件

@@ -60,4 +60,13 @@ function validate_freedns_code {
60 60
     VALID_CODE='yes'
61 61
 }
62 62
 
63
+function is_valid_user {
64
+    USRNAME="$1"
65
+    if [[ "$USRNAME" != "go" && "$USRNAME" != "gogs" && "$USRNAME" != "git" && "$USRNAME" != "mirrors" && "$USRNAME" != "sync" && "$USERNAME" != "tahoelafs" ]]; then
66
+        echo "1"
67
+    else
68
+        echo "0"
69
+    fi
70
+}
71
+
63 72
 # NOTE: deliberately no exit 0