|
@@ -73,6 +73,82 @@ GPGIT_COMMIT='583dc76119f19420f8a33f606744faa7c8922738'
|
73
|
73
|
# refresh gpg keys every few hours
|
74
|
74
|
REFRESH_GPG_KEYS_HOURS=2
|
75
|
75
|
|
|
76
|
+function email_create_template {
|
|
77
|
+ if [ ! -d /etc/skel/log ]; then
|
|
78
|
+ mkdir -m 700 /etc/skel/log
|
|
79
|
+ fi
|
|
80
|
+ if [ ! -d /etc/skel/Maildir ]; then
|
|
81
|
+ mkdir -m 700 /etc/skel/.mutt
|
|
82
|
+ mkdir -m 700 /etc/skel/Maildir
|
|
83
|
+ mkdir -m 700 /etc/skel/Maildir/new
|
|
84
|
+ mkdir -m 700 /etc/skel/Maildir/cur
|
|
85
|
+ mkdir -m 700 /etc/skel/Maildir/Sent
|
|
86
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/tmp
|
|
87
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/cur
|
|
88
|
+ mkdir -m 700 /etc/skel/Maildir/Sent/new
|
|
89
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam
|
|
90
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
|
|
91
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
|
|
92
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
|
|
93
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham
|
|
94
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
|
|
95
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
|
|
96
|
+ mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
|
|
97
|
+ ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
|
|
98
|
+ ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
|
|
99
|
+ fi
|
|
100
|
+
|
|
101
|
+ if [ ! -d /home/$MY_USERNAME/Maildir ]; then
|
|
102
|
+ mkdir -m 700 /home/$MY_USERNAME/.mutt
|
|
103
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir
|
|
104
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
|
|
105
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
|
|
106
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/new
|
|
107
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
|
|
108
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
|
|
109
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
|
|
110
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
|
|
111
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
|
|
112
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
|
|
113
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
|
|
114
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
|
|
115
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
|
|
116
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
|
|
117
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
|
|
118
|
+ mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
|
|
119
|
+ ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
|
|
120
|
+ ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
|
|
121
|
+ chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
|
|
122
|
+ fi
|
|
123
|
+}
|
|
124
|
+
|
|
125
|
+function email_install_tls {
|
|
126
|
+ # make a tls certificate for email
|
|
127
|
+ if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
|
|
128
|
+ ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
|
|
129
|
+ check_certificates exim
|
|
130
|
+ fi
|
|
131
|
+ cp /etc/ssl/private/exim.key /etc/exim4
|
|
132
|
+ cp /etc/ssl/certs/exim.crt /etc/exim4
|
|
133
|
+ cp /etc/ssl/certs/exim.dhparam /etc/exim4
|
|
134
|
+ chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
|
135
|
+ chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
|
136
|
+
|
|
137
|
+ sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
|
|
138
|
+ if ! grep -q "MAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template; then
|
|
139
|
+ sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME =\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
|
|
140
|
+ else
|
|
141
|
+ sed -i "s|MAIN_HARDCODE_PRIMARY_HOSTNAME =.*|MAIN_HARDCODE_PRIMARY_HOSTNAME =|g" /etc/exim4/exim4.conf.template
|
|
142
|
+ fi
|
|
143
|
+ sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
|
|
144
|
+ if ! grep -q "tls_on_connect_ports=465" /etc/exim4/exim4.conf.template; then
|
|
145
|
+ sed -i '/SSL configuration for exim/i\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
|
|
146
|
+ fi
|
|
147
|
+ if ! grep -q "# don't send system passwords" /etc/exim4/exim4.conf.template; then
|
|
148
|
+ sed -i "s|don't send system passwords.*|# don't send system passwords unencrypted|g" /etc/exim4/exim4.conf.template
|
|
149
|
+ fi
|
|
150
|
+}
|
|
151
|
+
|
76
|
152
|
function configure_email_onion {
|
77
|
153
|
if [[ $(is_completed $FUNCNAME) == "1" ]]; then
|
78
|
154
|
return
|
|
@@ -863,80 +939,13 @@ function install_email_with_tor {
|
863
|
939
|
sed -i "s/START=no/START=yes/g" /etc/default/saslauthd
|
864
|
940
|
systemctl start saslauthd
|
865
|
941
|
|
866
|
|
- # make a tls certificate for email
|
867
|
|
- if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
|
868
|
|
- ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
|
869
|
|
- check_certificates exim
|
870
|
|
- fi
|
871
|
|
- cp /etc/ssl/private/exim.key /etc/exim4
|
872
|
|
- cp /etc/ssl/certs/exim.crt /etc/exim4
|
873
|
|
- cp /etc/ssl/certs/exim.dhparam /etc/exim4
|
874
|
|
- chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
875
|
|
- chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
876
|
|
-
|
877
|
|
- sed -i '/login_saslauthd_server/,/.endif/ s/# *//' /etc/exim4/exim4.conf.template
|
878
|
|
- if ! grep -q "MAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template; then
|
879
|
|
- sed -i "/.ifdef MAIN_HARDCODE_PRIMARY_HOSTNAME/i\MAIN_HARDCODE_PRIMARY_HOSTNAME =\nMAIN_TLS_ENABLE = true" /etc/exim4/exim4.conf.template
|
880
|
|
- else
|
881
|
|
- sed -i "s|MAIN_HARDCODE_PRIMARY_HOSTNAME =.*|MAIN_HARDCODE_PRIMARY_HOSTNAME =|g" /etc/exim4/exim4.conf.template
|
882
|
|
- fi
|
883
|
|
- sed -i "s|SMTPLISTENEROPTIONS=''|SMTPLISTENEROPTIONS='-oX 465:25:587 -oP /var/run/exim4/exim.pid'|g" /etc/default/exim4
|
884
|
|
- if ! grep -q "tls_on_connect_ports=465" /etc/exim4/exim4.conf.template; then
|
885
|
|
- sed -i '/SSL configuration for exim/i\tls_on_connect_ports=465' /etc/exim4/exim4.conf.template
|
886
|
|
- fi
|
887
|
|
- if ! grep -q "# don't send system passwords" /etc/exim4/exim4.conf.template; then
|
888
|
|
- sed -i "s|don't send system passwords.*|# don't send system passwords unencrypted|g" /etc/exim4/exim4.conf.template
|
889
|
|
- fi
|
|
942
|
+ email_install_tls
|
890
|
943
|
|
891
|
944
|
adduser $MY_USERNAME sasl
|
892
|
945
|
addgroup Debian-exim sasl
|
893
|
946
|
systemctl restart exim4
|
894
|
|
- if [ ! -d /etc/skel/log ]; then
|
895
|
|
- mkdir -m 700 /etc/skel/log
|
896
|
|
- fi
|
897
|
|
- if [ ! -d /etc/skel/Maildir ]; then
|
898
|
|
- mkdir -m 700 /etc/skel/.mutt
|
899
|
|
- mkdir -m 700 /etc/skel/Maildir
|
900
|
|
- mkdir -m 700 /etc/skel/Maildir/new
|
901
|
|
- mkdir -m 700 /etc/skel/Maildir/cur
|
902
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent
|
903
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/tmp
|
904
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/cur
|
905
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/new
|
906
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam
|
907
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
|
908
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
|
909
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
|
910
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham
|
911
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
|
912
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
|
913
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
|
914
|
|
- ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
|
915
|
|
- ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
|
916
|
|
- fi
|
917
|
947
|
|
918
|
|
- if [ ! -d /home/$MY_USERNAME/Maildir ]; then
|
919
|
|
- mkdir -m 700 /home/$MY_USERNAME/.mutt
|
920
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir
|
921
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
|
922
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
|
923
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/new
|
924
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
|
925
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
|
926
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
|
927
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
|
928
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
|
929
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
|
930
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
|
931
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
|
932
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
|
933
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
|
934
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
|
935
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
|
936
|
|
- ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
|
937
|
|
- ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
|
938
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
|
939
|
|
- fi
|
|
948
|
+ email_create_template
|
940
|
949
|
|
941
|
950
|
if [ -f /usr/sbin/exim ]; then
|
942
|
951
|
chmod u+s /usr/sbin/exim
|
|
@@ -995,66 +1004,13 @@ function install_email_basic {
|
995
|
1004
|
sed -i "s/START=no/START=yes/g" /etc/default/saslauthd
|
996
|
1005
|
systemctl start saslauthd
|
997
|
1006
|
|
998
|
|
- # make a tls certificate for email
|
999
|
|
- if [ ! -f /etc/ssl/certs/exim.dhparam ]; then
|
1000
|
|
- ${PROJECT_NAME}-addcert -h exim --dhkey $DH_KEYLENGTH
|
1001
|
|
- check_certificates exim
|
1002
|
|
- fi
|
1003
|
|
- cp /etc/ssl/private/exim.key /etc/exim4
|
1004
|
|
- cp /etc/ssl/certs/exim.crt /etc/exim4
|
1005
|
|
- cp /etc/ssl/certs/exim.dhparam /etc/exim4
|
1006
|
|
- chown root:Debian-exim /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
1007
|
|
- chmod 640 /etc/exim4/exim.key /etc/exim4/exim.crt /etc/exim4/exim.dhparam
|
|
1007
|
+ email_install_tls
|
1008
|
1008
|
|
1009
|
|
- if [ ! -d /etc/skel/log ]; then
|
1010
|
|
- mkdir -m 700 /etc/skel/log
|
1011
|
|
- fi
|
1012
|
|
- if [ ! -d /etc/skel/Maildir ]; then
|
1013
|
|
- mkdir -m 700 /etc/skel/.mutt
|
1014
|
|
- mkdir -m 700 /etc/skel/Maildir
|
1015
|
|
- mkdir -m 700 /etc/skel/Maildir/new
|
1016
|
|
- mkdir -m 700 /etc/skel/Maildir/cur
|
1017
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent
|
1018
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/tmp
|
1019
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/cur
|
1020
|
|
- mkdir -m 700 /etc/skel/Maildir/Sent/new
|
1021
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam
|
1022
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/cur
|
1023
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/new
|
1024
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-spam/tmp
|
1025
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham
|
1026
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/cur
|
1027
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/new
|
1028
|
|
- mkdir -m 700 /etc/skel/Maildir/.learn-ham/tmp
|
1029
|
|
- ln -s /etc/skel/Maildir/.learn-spam /etc/skel/Maildir/spam
|
1030
|
|
- ln -s /etc/skel/Maildir/.learn-ham /etc/skel/Maildir/ham
|
1031
|
|
- fi
|
1032
|
|
-
|
1033
|
|
- if [ ! -d /home/$MY_USERNAME/Maildir ]; then
|
1034
|
|
- mkdir -m 700 /home/$MY_USERNAME/.mutt
|
1035
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir
|
1036
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/cur
|
1037
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/tmp
|
1038
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/new
|
1039
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent
|
1040
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/cur
|
1041
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/tmp
|
1042
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/Sent/new
|
1043
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam
|
1044
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/cur
|
1045
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/new
|
1046
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-spam/tmp
|
1047
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham
|
1048
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/cur
|
1049
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/new
|
1050
|
|
- mkdir -m 700 /home/$MY_USERNAME/Maildir/.learn-ham/tmp
|
1051
|
|
- ln -s /home/$MY_USERNAME/Maildir/.learn-spam /home/$MY_USERNAME/Maildir/spam
|
1052
|
|
- ln -s /home/$MY_USERNAME/Maildir/.learn-ham /home/$MY_USERNAME/Maildir/ham
|
1053
|
|
- chown -R $MY_USERNAME:$MY_USERNAME /home/$MY_USERNAME/Maildir
|
1054
|
|
- fi
|
|
1009
|
+ adduser $MY_USERNAME sasl
|
|
1010
|
+ addgroup Debian-exim sasl
|
|
1011
|
+ systemctl restart exim4
|
1055
|
1012
|
|
1056
|
|
- function_check configure_firewall_for_email
|
1057
|
|
- configure_firewall_for_email
|
|
1013
|
+ email_create_template
|
1058
|
1014
|
|
1059
|
1015
|
if [ -f /usr/sbin/exim ]; then
|
1060
|
1016
|
chmod u+s /usr/sbin/exim
|
|
@@ -1063,6 +1019,8 @@ function install_email_basic {
|
1063
|
1019
|
chmod u+s /usr/sbin/exim4
|
1064
|
1020
|
fi
|
1065
|
1021
|
|
|
1022
|
+ function_check configure_firewall_for_email
|
|
1023
|
+ configure_firewall_for_email
|
1066
|
1024
|
dpkg-reconfigure --frontend noninteractive exim4-config
|
1067
|
1025
|
systemctl restart exim4
|
1068
|
1026
|
}
|