From 822fd47d320c67a025750381ed2bb696c928b8e7 Mon Sep 17 00:00:00 2001
From: Bob Mottram <bob@freedombone.net>
Date: Sat, 10 Jun 2017 14:57:42 +0100
Subject: [PATCH] Users and groups

---
 src/freedombone-app-gogs        |  3 +++
 src/freedombone-app-matrix      |  2 +-
 src/freedombone-app-mediagoblin |  2 +-
 src/freedombone-app-radicale    |  4 +++-
 src/freedombone-app-tahoelafs   | 10 ++++++----
 src/freedombone-app-turtl       |  4 +++-
 6 files changed, 17 insertions(+), 8 deletions(-)

diff --git a/src/freedombone-app-gogs b/src/freedombone-app-gogs
index ee49423df..1b6ca1671 100755
--- a/src/freedombone-app-gogs
+++ b/src/freedombone-app-gogs
@@ -371,6 +371,8 @@ function remove_gogs {
     remove_completion_param "install_gogs"
     sed -i '/gogs /d' $COMPLETION_FILE
     remove_backup_database_local gogs
+    deluser --remove-all-files gogs
+    delgroup gogs
 
     function_check remove_ddns_domain
     remove_ddns_domain $GIT_DOMAIN_NAME
@@ -382,6 +384,7 @@ function install_gogs {
     fi
 
     adduser --disabled-login --gecos 'Gogs' $GOGS_USERNAME
+    groupadd gogs
 
     gogs_parameters
 
diff --git a/src/freedombone-app-matrix b/src/freedombone-app-matrix
index 8f29ccb6c..099892563 100755
--- a/src/freedombone-app-matrix
+++ b/src/freedombone-app-matrix
@@ -483,7 +483,7 @@ function remove_matrix {
     pip uninstall .
     rm -rf $MATRIX_DATA_DIR
     rm -rf /etc/matrix
-    deluser matrix
+    deluser --remove-all-files matrix
     delgroup matrix
     remove_onion_service matrix ${MATRIX_ONION_PORT}
     remove_onion_service matrix ${MATRIX_FEDERATION_ONION_PORT}
diff --git a/src/freedombone-app-mediagoblin b/src/freedombone-app-mediagoblin
index 9a6df4947..7f647307b 100755
--- a/src/freedombone-app-mediagoblin
+++ b/src/freedombone-app-mediagoblin
@@ -251,7 +251,7 @@ function remove_mediagoblin {
     sed -i '/mediagoblin/d' $COMPLETION_FILE
 
     remove_nodejs mediagoblin
-    deluser mediagoblin
+    deluser --remove-all-files mediagoblin
     delgroup mediagoblin
 
     function_check remove_ddns_domain
diff --git a/src/freedombone-app-radicale b/src/freedombone-app-radicale
index a1631b0f9..d7b7db7af 100755
--- a/src/freedombone-app-radicale
+++ b/src/freedombone-app-radicale
@@ -282,7 +282,8 @@ function remove_radicale {
     fi
 
     firewall_remove ${RADICALE_PORT} tcp
-    deluser radicale
+    deluser --remove-all-files radicale
+    delgroup radicale
 
     function_check remove_onion_service
     remove_onion_service radicale ${RADICALE_ONION_PORT}
@@ -323,6 +324,7 @@ function install_radicale {
 
     useradd -c "Radicale system account" -d /var/www/radicale -m -r -g radicale radicale
     usermod -a -G www-data radicale
+    groupadd radicale
 
     # create directories
     if [ ! -d /var/log/radicale ]; then
diff --git a/src/freedombone-app-tahoelafs b/src/freedombone-app-tahoelafs
index d3d5c24eb..4dde68a4d 100755
--- a/src/freedombone-app-tahoelafs
+++ b/src/freedombone-app-tahoelafs
@@ -372,7 +372,8 @@ function remove_tahoelafs {
     remove_onion_service tahoelafs ${TAHOELAFS_ONION_PORT}
     remove_onion_service storage-tahoelafs ${TAHOELAFS_STORAGE_ONION_PORT} $(get_tahoelafs_nick)
     sed -i '/HidServAuth /d' /etc/tor/torrc
-    deluser tahoelafs
+    deluser --remove-all-files tahoelafs
+    delgroup tahoelafs
     if [ -d $TAHOE_DIR ]; then
         rm -rf $TAHOE_DIR
     fi
@@ -616,16 +617,17 @@ function install_tahoelafs {
 
     apt-get -yq install build-essential python-pip python-dev libffi-dev libssl-dev
     apt-get -yq install libcrypto++-dev python-pycryptopp python-cffi python-virtualenv
-    apt-get -yq install tahoe-lafs
-    pip install tahoe-lafs[tor]
-
     # create a user
     if [ ! -d $TAHOE_DIR ]; then
         # add a gogs user account
         adduser --disabled-login --gecos 'tahoe-lafs' tahoelafs
         adduser tahoelafs debian-tor
+        groupadd tahoelafs
     fi
 
+    apt-get -yq install tahoe-lafs
+    pip install tahoe-lafs[tor]
+
     if [ -d $TAHOE_DIR/Maildir ]; then
         rm -rf $TAHOE_DIR/Maildir
     fi
diff --git a/src/freedombone-app-turtl b/src/freedombone-app-turtl
index 7d57fe031..8da63fa53 100755
--- a/src/freedombone-app-turtl
+++ b/src/freedombone-app-turtl
@@ -355,7 +355,8 @@ function remove_turtl {
     remove_app turtl
     remove_completion_param install_turtl
     sed -i '/turtl/d' $COMPLETION_FILE
-    deluser turtl
+    deluser --remove-all-files turtl
+    delgroup turtl
     nginx_dissite $TURTL_DOMAIN_NAME
     if [ -f /etc/nginx/sites-available/$TURTL_DOMAIN_NAME ]; then
         rm /etc/nginx/sites-available/$TURTL_DOMAIN_NAME
@@ -562,6 +563,7 @@ __ENDCONFIG__
     fi
 
     adduser --disabled-login --home=$TURTL_BASE_DIR --gecos 'turtl' turtl
+    groupadd turtl
     chown -R turtl:turtl $TURTL_BASE_DIR
 
     if [[ "$check_architecture" != *"arm"* ]]; then
-- 
GitLab