UVMS commands display Java error for non-root users
search cancel

UVMS commands display Java error for non-root users

book

Article ID: 402441

calendar_today

Updated On:

Products

CA Automic Dollar Universe

Issue/Introduction

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

Environment

UVMS on Linux

Cause

Insufficient rights

Resolution

Solution:

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.