From 6dd5afbecc6ba0596e257775351350be1fb74938 Mon Sep 17 00:00:00 2001 From: Christian Rößler Date: Tue, 30 Aug 2016 18:56:20 +0200 Subject: [SSPS/SSUS] Writable /var/cache/slx-admin für user www-data and symlink [WARNING: NEEDS TESTING!] --- satellit_upgrader/updater.template.sh | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) (limited to 'satellit_upgrader/updater.template.sh') diff --git a/satellit_upgrader/updater.template.sh b/satellit_upgrader/updater.template.sh index debfdec..ca9f89a 100644 --- a/satellit_upgrader/updater.template.sh +++ b/satellit_upgrader/updater.template.sh @@ -68,8 +68,10 @@ restart_service () { } # ** Recursively set permissions of given directory to 0755/0644 optionally setting owner/group +# ** If directory is not there it will be mkdir'ed. fixperms () { [ -e "$1" ] || perror "normalize_perms: $1 does not exist" + [ -d "$1" ] || mkdir -p "$1" chmod -R a-rw,u+rwX,go+rX "$1" if [ -n "$2" ]; then chown -R "$2" "$1" || pwarning "Could not change owner of $1 to $2" @@ -88,6 +90,7 @@ declare -rg PAYLOAD_OFFSET="%PAYLOAD_OFFSET%" # ** Constants - hardcoded or determined at runtime declare -rg PATH_SLXADMIN="/srv/openslx/www/slx-admin" +declare -rg PATH_SLXADMINCACHE="/var/cache/slx-admin" declare -rg PATH_DOZMOD="/opt/dmsd" declare -rg PATH_TASKMANAGER="/opt/taskmanager" declare -rg PATH_TFTP="/srv/openslx/tftp" @@ -227,9 +230,17 @@ if [ -n "$TGZ_SLXADMIN" ]; then fi ln -s -f "$PATH_TFTP" "/srv/openslx/www/tftp" || perror "Could not symlink $PATH_TFTP to /srv/openslx/www/tftp" echo "Web interface upgrade complete" + fixperms "${PATH_SLXADMINCACHE}" www-data:www-data + + if [ -h "${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json" ]; then + pwarning "There is already a link or file /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json. Please check manually, it should lead to /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json" + else + ln -s /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json "${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json" || \ + pwarning "Could not set link ${PATH_SLXADMINCACHE}/baseconfig-bwidm_settings.json to /srv/openslx/www/slx-admin/modules-available/baseconfig_bwidm/baseconfig/settings.json - do so manually" + fi fi -# ************************* Dozmod ************************* +#************************* Dozmod ************************* if [ -n "$TGZ_DOZMOD" ]; then [ -e "$TMPDIR/$TGZ_DOZMOD" ] || perror "$TGZ_DOZMOD missing from payload." echo "* Dozentenmodul" -- cgit v1.2.3-55-g7522