diff options
author | Katarina Behrens <Katarina.Behrens@cib.de> | 2015-06-12 14:03:35 +0200 |
---|---|---|
committer | Thorsten Behrens <Thorsten.Behrens@CIB.de> | 2015-06-14 21:25:34 +0000 |
commit | 723e099972c16458af79ec0a86097d58576725d6 (patch) | |
tree | 296e9e75e5f147eaa25029dd4455cc6530196e4e | |
parent | a676ad5ec8348a6c8074e3a8d42590e8fd189cf5 (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>
-rwxr-xr-x | desktop/scripts/unopkg.sh | 17 |
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 \ |