summaryrefslogtreecommitdiff
path: root/desktop
diff options
context:
space:
mode:
authorKatarina Behrens <Katarina.Behrens@cib.de>2015-06-12 14:03:35 +0200
committerThorsten Behrens <Thorsten.Behrens@CIB.de>2015-06-14 21:25:34 +0000
commit723e099972c16458af79ec0a86097d58576725d6 (patch)
tree296e9e75e5f147eaa25029dd4455cc6530196e4e /desktop
parenta676ad5ec8348a6c8074e3a8d42590e8fd189cf5 (diff)
Don't let root run unopkg without --shared option
with the exception of -h|--help. It only makes sense to run unopkg with root priviledges if adding, deleting etc. extensions system-wide for all users (i.e with --shared switch ). In all other cases it only messes up access rights to extensions, so prevent that. Furtheron, running LibO from the root account (and installing root-user-local extensions) is not a supported scenario. Change-Id: I2817f62ae0bb400cefed240e792873f563fbe76e Reviewed-on: https://gerrit.libreoffice.org/16250 Reviewed-by: Thorsten Behrens <Thorsten.Behrens@CIB.de> Tested-by: Thorsten Behrens <Thorsten.Behrens@CIB.de>
Diffstat (limited to 'desktop')
-rwxr-xr-xdesktop/scripts/unopkg.sh17
1 files changed, 16 insertions, 1 deletions
diff --git a/desktop/scripts/unopkg.sh b/desktop/scripts/unopkg.sh
index a9d43bf90220..6deb032bb12a 100755
--- a/desktop/scripts/unopkg.sh
+++ b/desktop/scripts/unopkg.sh
@@ -49,17 +49,32 @@ AIX)
;;
esac
+HELP_MODE=0
+SHARED_MODE=0
#collect all bootstrap variables specified on the command line
#so that they can be passed as arguments to javaldx later on
for arg in $@
do
case "$arg" in
-env:*) BOOTSTRAPVARS=$BOOTSTRAPVARS" ""$arg";;
- --shared) umask 0022;;
+ --shared)
+ umask 0022
+ SHARED_MODE=1
+ ;;
# make sure shared extensions will be readable by all users
+ -h|--help) HELP_MODE=1;;
esac
done
+# we don't really want root to run unopkg without --shared option
+if [ "$EUID" -eq 0 ]; then
+ # but we might at least let him read help
+ if [ $SHARED_MODE -eq 0 ] && [ $HELP_MODE -eq 0 ]; then
+ echo "Cannot run '${0} $*' as root (did you forget --shared option?)"
+ exit 1
+ fi
+fi
+
# extend the ld_library_path for java: javaldx checks the sofficerc for us
if [ -x "${sd_prog}/javaldx" ] ; then
my_path=`"${sd_prog}/javaldx" $BOOTSTRAPVARS \