Browse Source

Permissions on lets encrypt directory

To allow apps using a dedicated user account to read certificates
Bob Mottram 7 years ago
parent
commit
490a6c9982
3 changed files with 13 additions and 1 deletions
  1. 5
    0
      src/freedombone-addcert
  2. 6
    1
      src/freedombone-app-matrix
  3. 2
    0
      src/freedombone-restore-local

+ 5
- 0
src/freedombone-addcert View File

@@ -279,6 +279,11 @@ function add_cert_letsencrypt {
279 279
 
280 280
     update_default_domain
281 281
 
282
+    # this group can be used to assign read permissions for
283
+    # application user accounts
284
+    chgrp -R ssl-cert /etc/letsencrypt
285
+    chmod -R g=rX /etc/letsencrypt
286
+
282 287
     nginx_ensite ${LETSENCRYPT_HOSTNAME}
283 288
     systemctl start nginx
284 289
 

+ 6
- 1
src/freedombone-app-matrix View File

@@ -214,7 +214,9 @@ function matrix_configure_homeserver_yaml {
214 214
 
215 215
     if [[ $ONION_ONLY == "no" ]]; then
216 216
         sed -i "s|tls_certificate_path:.*|tls_certificate_path: \"/etc/ssl/certs/${MATRIX_DOMAIN_NAME}.pem\"|g" "${filepath}"
217
-        sed -i "s|tls_private_key_path:.*|tls_private_key_path: \"/etc/ssl/private/${MATRIX_DOMAIN_NAME}.key\"|g" "${filepath}"
217
+        if ! grep -q '#tls_private_key_path' "${filepath}"; then
218
+            sed -i 's|tls_private_key_path|#tls_private_key_path|g' "${filepath}"
219
+        fi
218 220
         sed -i "s|tls_dh_params_path:.*|tls_dh_params_path: \"/etc/ssl/certs/${MATRIX_DOMAIN_NAME}.dhparam\"|g" "${filepath}"
219 221
     fi
220 222
     sed -i 's|8448|8449|g' "${filepath}"
@@ -524,6 +526,7 @@ function install_home_server {
524 526
     groupadd matrix
525 527
     useradd -c "Matrix system account" -d $MATRIX_DATA_DIR -m -r -g matrix matrix
526 528
     usermod -a -G www-data matrix
529
+    usermod -a -G ssl-cert matrix
527 530
 
528 531
     function_check install_turn
529 532
     install_turn
@@ -623,6 +626,8 @@ function install_matrix {
623 626
                 exit 73572
624 627
             fi
625 628
         fi
629
+        chgrp -R ssl-cert /etc/letsencrypt
630
+        chmod -R g=rX /etc/letsencrypt
626 631
     fi
627 632
 
628 633
     export DEBIAN_FRONTEND=noninteractive

+ 2
- 0
src/freedombone-restore-local View File

@@ -223,6 +223,8 @@ function restore_letsencrypt {
223 223
     if [ -d $USB_MOUNT/backup/letsencrypt ]; then
224 224
         echo $"Restoring Lets Encrypt settings"
225 225
         restore_directory_from_usb / letsencrypt
226
+        chgrp -R ssl-cert /etc/letsencrypt
227
+        chmod -R g=rX /etc/letsencrypt
226 228
     fi
227 229
 }
228 230