|
@@ -15,7 +15,7 @@
|
15
|
15
|
# License
|
16
|
16
|
# =======
|
17
|
17
|
#
|
18
|
|
-# Copyright (C) 2016-2017 Bob Mottram <bob@freedombone.net>
|
|
18
|
+# Copyright (C) 2014-2017 Bob Mottram <bob@freedombone.net>
|
19
|
19
|
#
|
20
|
20
|
# This program is free software: you can redistribute it and/or modify
|
21
|
21
|
# it under the terms of the GNU Affero General Public License as published by
|
|
@@ -58,6 +58,40 @@ tahoelafs_variables=(ONION_ONLY
|
58
|
58
|
TAHOELAFS_SHARES_HAPPY
|
59
|
59
|
TAHOELAFS_SHARES_TOTAL)
|
60
|
60
|
|
|
61
|
+function add_user_tahoelafs {
|
|
62
|
+ if [[ $(app_is_installed tahoelafs) == "0" ]]; then
|
|
63
|
+ echo '0'
|
|
64
|
+ return
|
|
65
|
+ fi
|
|
66
|
+
|
|
67
|
+ new_username="$1"
|
|
68
|
+ new_user_password="$2"
|
|
69
|
+ ${PROJECT_NAME}-pass -u $new_username -a tahoelafs -p "$new_user_password"
|
|
70
|
+ if grep "${new_username}:" /etc/nginx/.htpasswd-tahoelafs; then
|
|
71
|
+ sed -i '/${new_username}:/d' /etc/nginx/.htpasswd-tahoelafs
|
|
72
|
+ fi
|
|
73
|
+ echo "${new_user_password}" | htpasswd -i -s /etc/nginx/.htpasswd-tahoelafs ${new_username}
|
|
74
|
+ echo '0'
|
|
75
|
+}
|
|
76
|
+
|
|
77
|
+function remove_user_tahoelafs {
|
|
78
|
+ remove_username="$1"
|
|
79
|
+ ${PROJECT_NAME}-pass -u $remove_username --rmapp tahoelafs
|
|
80
|
+ if grep "${remove_username}:" /etc/nginx/.htpasswd-tahoelafs; then
|
|
81
|
+ sed -i '/${remove_username}:/d' /etc/nginx/.htpasswd-tahoelafs
|
|
82
|
+ fi
|
|
83
|
+}
|
|
84
|
+
|
|
85
|
+function change_password_tahoelafs {
|
|
86
|
+ change_username="$1"
|
|
87
|
+ change_password="$2"
|
|
88
|
+ ${PROJECT_NAME}-pass -u $change_username -a tahoelafs -p "$change_password"
|
|
89
|
+ if grep "${change_username}:" /etc/nginx/.htpasswd-tahoelafs; then
|
|
90
|
+ sed -i '/tahoe-${change_username}:/d' /etc/nginx/.htpasswd-tahoelafs
|
|
91
|
+ fi
|
|
92
|
+ echo "${change_password}" | htpasswd -i -s /etc/nginx/.htpasswd-tahoelafs ${change_username}
|
|
93
|
+}
|
|
94
|
+
|
61
|
95
|
function add_tahoelafs_storage_node_interactive {
|
62
|
96
|
data=$(tempfile 2>/dev/null)
|
63
|
97
|
trap "rm -f $data" 0 1 2 5 15
|
|
@@ -350,6 +384,9 @@ function remove_tahoelafs {
|
350
|
384
|
rm -rf /home/tahoelafs
|
351
|
385
|
fi
|
352
|
386
|
remove_app tahoelafs
|
|
387
|
+ if [ -f /etc/nginx/.htpasswd-tahoelafs ]; then
|
|
388
|
+ shred -zu /etc/nginx/.htpasswd-tahoelafs
|
|
389
|
+ fi
|
353
|
390
|
systemctl reload tor
|
354
|
391
|
}
|
355
|
392
|
|
|
@@ -566,6 +603,8 @@ function create_tahoelafs_web {
|
566
|
603
|
echo " root /var/www/tahoelafs/htdocs;" >> $tahoelafs_nginx_site
|
567
|
604
|
echo '' >> $tahoelafs_nginx_site
|
568
|
605
|
echo ' location / {' >> $tahoelafs_nginx_site
|
|
606
|
+ echo " # auth_basic \"${TAHOELAFS_LOGIN_TEXT}\";" >> $tahoelafs_nginx_site
|
|
607
|
+ echo ' # auth_basic_user_file /etc/nginx/.htpasswd-tahoelafs;' >> $tahoelafs_nginx_site
|
569
|
608
|
function_check nginx_limits
|
570
|
609
|
nginx_limits tahoelafs '15m'
|
571
|
610
|
echo ' rewrite /(.*) /$1 break;' >> $tahoelafs_nginx_site
|
|
@@ -578,6 +617,16 @@ function create_tahoelafs_web {
|
578
|
617
|
echo ' }' >> $tahoelafs_nginx_site
|
579
|
618
|
echo '}' >> $tahoelafs_nginx_site
|
580
|
619
|
|
|
620
|
+ TAHOELAFS_ADMIN_PASSWORD="$(create_password ${MINIMUM_PASSWORD_LENGTH})"
|
|
621
|
+ ${PROJECT_NAME}-pass -u $MY_USERNAME -a tahoelafs -p "$TAHOELAFS_ADMIN_PASSWORD"
|
|
622
|
+ if [ ! -f /etc/nginx/.htpasswd-tahoelafs ]; then
|
|
623
|
+ touch /etc/nginx/.htpasswd-tahoelafs
|
|
624
|
+ fi
|
|
625
|
+ if grep "${MY_USERNAME}:" /etc/nginx/.htpasswd-tahoelafs; then
|
|
626
|
+ sed -i '/${MY_USERNAME}:/d' /etc/nginx/.htpasswd-tahoelafs
|
|
627
|
+ fi
|
|
628
|
+ echo "${TAHOELAFS_ADMIN_PASSWORD}" | htpasswd -i -s /etc/nginx/.htpasswd-tahoelafs ${MY_USERNAME}
|
|
629
|
+
|
581
|
630
|
function_check nginx_ensite
|
582
|
631
|
nginx_ensite tahoelafs
|
583
|
632
|
systemctl reload nginx
|