On Unix, the installation of UVMS must be done with root to add the init.d startup script.
However, if, after the installation, the files are not assigned to a non-root UVMS user, commands show error messages or fail completely for non-root users.
For example, the command unilst AUDIT executed with a non-root user will lead to the following messages and errors:
With file permissions 755:
/<UVMS_folder>/<server_name>_MgtServer/bin/unilst
-rwxr-xr-x. 1 root root 3176 Mar 19 15:44 unilst
This will show a lot of messages, but the result appears at the bottom (see last 3 lines in bold):
$ ./unilst AUDIT
UniViewer Management Server environment loaded.
Init log4j from: /<UVMS_folder>/<server_name>_MgtServer/data/log4j2.xml
ERROR StatusConsoleListener RollingFileManager (/<UVMS_folder>/<server_name>_MgtServer/data/log/uvserver.log) java.io.FileNotFoundException: /<UVMS_folder>/<server_name>_MgtServer/data/log/uvserver.log (Permission denied)
java.io.FileNotFoundException: /<UVMS_folder>/<server_name>_MgtServer/data/log/uvserver.log (Permission denied)
at java.base/java.io.FileOutputStream.open0(Native Method)
at java.base/java.io.FileOutputStream.open(FileOutputStream.java:298)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:237)
at java.base/java.io.FileOutputStream.<init>(FileOutputStream.java:158)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:748)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager$RollingFileManagerFactory.createManager(RollingFileManager.java:718)
at org.apache.logging.log4j.core.appender.AbstractManager.getManager(AbstractManager.java:144)
at org.apache.logging.log4j.core.appender.OutputStreamManager.getManager(OutputStreamManager.java:100)
at org.apache.logging.log4j.core.appender.rolling.RollingFileManager.getFileManager(RollingFileManager.java:217)
<...>
at com.orsyp.central.CentralLogFactory.<clinit>(CentralLogFactory.java:27)
at com.orsyp.central.server.CommonCommand.initLog(CommonCommand.java:207)
at com.orsyp.central.cli.auditcmd.ListAuditTrails.main(ListAuditTrails.java:119)
ERROR StatusConsoleListener Null object returned for RollingFile in Appenders.
ERROR StatusConsoleListener Null object returned for RollingFile in Appenders.
ERROR StatusConsoleListener Null object returned for RollingFile in Appenders.
ERROR StatusConsoleListener Null object returned for RollingFile in Appenders.
ERROR StatusConsoleListener Null object returned for RollingFile in Appenders.
ERROR StatusConsoleListener Unable to locate appender "UNI_SIZE_LIMITER" for logger config "root"
ERROR StatusConsoleListener Unable to locate appender "UNI_SIZE_LIMITER" for logger config "com.orsyp.alertmanager"
ERROR StatusConsoleListener Unable to locate appender "UNI_SIZE_LIMITER" for logger config "com.orsyp.central.server"
ERROR StatusConsoleListener Unable to locate appender "ALM" for logger config "alm.file"
ERROR StatusConsoleListener Unable to locate appender "LDAP" for logger config "ldap.file"
ERROR StatusConsoleListener Unable to locate appender "DUMP" for logger config "dump.file"
ERROR StatusConsoleListener Unable to locate appender "UNI_SIZE_LIMITER" for logger config "com.orsyp"
ERROR StatusConsoleListener Unable to locate appender "AUDIT" for logger config "audit.trail"
ERROR StatusConsoleListener Unable to locate appender "UNI_SIZE_LIMITER" for logger config "com.orsyp.nothing"
UVMS Node Timestamp User Auth. type Use Host name Objec Action
<hostname> 19/03/2025 15:46:35 PASSPHRASE CLI LOGIN CREATE
<hostname> 19/03/2025 16:11:17 admin USER_AND_PASSWORD UVC <hostname> LOGIN LOGOUT
2 audit entries.
$
With file permissions 750 on folder jars:
/<UVMS_folder>/<server_name>_MgtServer/apps/jars
drwxr-x---. 2 root root 4096 Mar 19 15:44 jars
$ ./unilst AUDIT
UniViewer Management Server environment loaded.
Error: Could not find or load main class com.orsyp.central.cli.auditcmd.ListAuditTrails
Caused by: java.lang.ClassNotFoundException: com.orsyp.central.cli.auditcmd.ListAuditTrails
$
No result is displayed
UVMS on Linux
Insufficient rights
1. Install UVMS with a non-root user.
This works fine but the init.d script will not be installed, so UVMS will not automatically start after a server restart.
2. Install UVMS with root, but assign all files to a non-root user after the installation
In /<UVMS_folder>/ containing the directory ../<server_name>_MgtServer/ run the following command:
chown -R uvms_user:uvms_group *
uvms_user and uvms_group can be any user/group that needs to do administrative tasks on UVMS.