xdistc --push command failed

Problem

BACKGROUND

 

Veritas Operations Manager (VOM) includes a command line utility called xdistc.  This command is used in the infrastructure of VOM but can be used at the command line for remote command execxution (similar to using ssh to execute commands/scripts remotely).  It is not necessary to configure ssh connectivity.  Not only will the underlying VOM connectivity be used instead of something like ssh but there are many options to support command/script execution.  This command is documented in the appendix of the User's Guide.

ISSUE

xdistc command fails to push the file to the destination directory on VOM MHs (Managed Hosts)

Error Message

/opt/VRTSsfmh/bin/xdistc --host fan-v240 --push ls.sh /tmp/ls.sh --perm 755 --run --results
HTTP/1.1 500 OK
Status: 500 Invalid destination file path (/tmp/ls.sh)
Content-Type: text/plain; charset=ISO-8859-1
 

Cause

For security concerns, only specific directories are allowed.  Common directories like /tmp and /var/tmp are considered vulnerabilities.
 

Solution

It is suggested to use the standard directory that is found on all Managed Hosts (MHs):

 

$VARDIR/tmp

(xdistc defines VARDIR as /var/opt/VRTSsfmh; this variable is not available at a shell prompt)

 

If another directory must be used for some reason, a symbolic link may be created.

 

As a work around, user can create a symbolic link in /var/opt/VRTSsfmh/tmp which points to the directory that the file is to be pushed to on the target MHs.  If there are large numbers of MHs, create a small script which creates the symbolic link on each target MHs.  Then run xdistc command again to push and run the script to perform the operation needed.

Example

On the VOM Management Server (jung-v240), there is a file (script) called ls.sh in /tmp which needs to be pushed to then run on a MH host called fan-v240.

 [root@jung-v240]# ls -l /tmp/ls.sh
-rwxr-xr-x   1 root     root          17 Feb 24 14:12 /tmp/ls.sh
 

The file needs to be pushed to /tmp on the MH and run it from /tmp.

First, creating a symbolic link in /var/opt/VRTSsfmh/tmp called tmp_link

root@fan-v240 /var/opt/VRTSsfmh/tmp [6179]:ls -l tmp_link
lrwxrwxrwx   1 root     root           4 Feb 25 11:23 tmp_link -> /tmp
 

Then run xdistc command on the Central managment Server as follows:

 [root@jung-v240]# /opt/VRTSsfmh/bin/xdistc --host fan-v240 --push ls.sh '$VARDIR/tmp/tmp_link/ls_2.sh' --perm 755 --run --results
(NOTE: the single quotes above are important so $VARDIR is not interpreted by the shell)

-rwxr--r--   1 root     sys          480 Oct  1  2010 /etc/amftab
-r--r--r--   1 root     root        4295 Jun  5  2011 /etc/device.tab
-rw-r--r--   1 root     root        3207 Jan 28 12:00 /etc/devlink.tab
-r--r--r--   1 root     sys          463 Jun  5  2011 /etc/dgroup.tab
-rw-r--r--   1 root     root          23 Jan 28 11:28 /etc/gabtab
-rw-r--r--   1 root     sys         1006 Sep  4  2009 /etc/inittab
-rw-r-----   1 root     root         101 Jun  5  2011 /etc/llttab
-r--r--r--   7 root     root        1346 Mar  3 16:41 /etc/mnttab
-rw-r--r--   1 root     root           0 Oct 16 10:34 /etc/rmtab
-rw-r--r--   1 root     root          23 Jun  5  2011 /etc/vcsmmtab
-rw-r--r--   1 root     sys          405 Jun  5  2011 /etc/vfstab
-rw-r-----   1 root     root         225 Feb  4 11:01 /etc/vxfentab
:::[/tmp]
 

The ls.sh contains one line below.

[root@jung-v240]# cat /tmp/ls.sh
ls -l /etc/*tab
 

 

 

 

Terms of use for this information are found in Legal Notices.

Search

Survey

Did this article answer your question or resolve your issue?

No
Yes

Did this article save you the trouble of contacting technical support?

No
Yes

How can we make this article more helpful?

Email Address (Optional)