Wowza Community

Updater to WowzaStreamingEngine-Update-4.8.5 should not change file permissions and owners in content folder

Hello,

the updatepermissions.sh file in the updater to WowzaStreamingEngine-Update-4.8.5 does execute some find commands which change file permissions and file owners.

These also include and change all files in the /content/ folder!

This should NOT be done automatically. The content folder should be excluded from the find because it could cause some major problems. Our content folder contains a huge library which is mountet by NFS and also used by other software. Running these modifying finds is neither what we expected nor wandted to be done by the updater.

# cat updatepermissions.sh
#!/bin/bash

OS=$1
INST_DIR=$2

# Configure permissions
find -L $INST_DIR -type f -iname "*.jar" | xargs -I {} chmod 644 "{}"
# The following command finds all entries that are files and those that start with a shebang line at the top of the file
# skips paths that have examples and .app suffix (.app suffix only applicable to osx but doesn't hurt linux)
find -L $INST_DIR -type f ! -path "*/examples/*" ! -path "*/*\.app/*" -exec awk 'NR > 1 { exit }; /^#!.*sh/{print FILENAME}' {} \; | xargs -I {} chmod 755 "{}"

# Configure ownership
if [ "$OS" = "linux" ]
then
        find -L $INST_DIR -type f | grep -v wms-server.jar | xargs -I {} chown --reference $INST_DIR/lib/wms-server.jar "{}"
else
        OWNER=`stat -f "%u:%g" "$INST_DIR/lib/wms-server.jar"`
        find -L $INST_DIR -type f | grep -v wms-server.jar | xargs -I {} chown $OWNER "{}"
fi

I was tryiing to find a solution by myself.

Excluding the content folder by adding ’ ! -path “/content/”’ would stop the changing, but find will still deep-dive through all directorys in the content path. As we have many many files and directory in content, this would still take a lot of time.

A practical solution for me is using "! -path “/content/” in combination with “-H” instead of “-L”

As we are using a symbolik link to in /content/ and -H “does not follow symbolic links, except while processing the command line arguments.” and -L does follow every symbolic link.

A better solution should be to only change files, which are provided by the updater and not recursivly everything in $INST_DIR

This has been reported as a bug and a ticket has been created. We really appreciate you letting us know and you are right that the content folder should be excluded. Our apologies and we are working on a solution. Let you know when we have one. Thanks @Michael Reul

Thank you for this feedback and know I will bring it to the attention of the Engine team immediately.