Discovery, Orchestration, and Integration Hub explore UNIX and Linux devices by using SSH credentials to execute commands over Secure Shell (SSH). SSH commands must run with root privileges, either with root credentials or through the use of sudo. SSH private key credentials provide additional security.

Granting root privileges

Before granting root privileges, review your security policy and options with your organization's security team.

Use either of these approaches to allow users to run SSH commands with root privileges:
  • Give other credentials for Discovery, Orchestration, or Integration Hub, but grant the user in those credentials the right to execute certain commands with root privileges, using sudo. This is a secure way to grant limited privileges. Discovery, Orchestration, or Integration Hub use sudo on any probe that has the must_sudoparameter set to true (it defaults to false). However, each system must be configured to allow sudo to work. This is done by editing the /etc/sudoers file using the visudo command.
  • Give root credentials. These are obviously the most powerful credentials, but may not be desirable from a security perspective. If Discovery, Orchestration, or Integration Hub have the root credentials to any UNIX or Linux system, no further configuration is required.

Privileged commands

The platform provides default privileged commands for the MID Server to use and the ability to add additional commands to the system. For details about using sudo and other privileged commands, see MID Server privileged commands.

SSH private key credential type

Note: SSH private key credentials should be used in most cases. They provide better security than SSH password credentials, including against MitM (man-in-the-middle) attacks in which communications between two parties are intercepted.

SSH credential type

These fields are available in the SSH credentials form.

Commands that require root privileges for Discovery, Orchestration, and Integration Hub

These examples assume that the user name is Disco. Substitute the actual user name and ensure that the paths for the commands match the paths on the system.
Note: Sudo commands do not work with private key credentials, because there is no password to supply to the sudo command. A solution is to add the NOPASSWD option to the sudo configuration. For example, you might enter: disco ALL=(root) NOPASSWD:/usr/sbin/dmidecode,/usr/sbin/lsof,/sbin/ifconfig.
Table 1. UNIX and Linux commands requiring root privileges
Command Purpose
HP-UX
adb Gathers CPU speed and memory.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/adb
  • Used by: Discovery
All Linux and UNIX versions
chage Changes the number of days between password changes and the date of the last password change.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/chage
  • Used by: Orchestration and Integration Hub
chpasswd Changes user passwords.
  • /etc/sudoers line example: Disco ALL=(root) /etc/chpasswd
  • Used by: Orchestration and Integration Hub
All Linux
dmidecode Gathers several pieces of information about the hardware, including the serial number embedded within the motherboard.
  • /etc/sudoers line example: Disco ALL=(root) /sbin/dmidecode
  • Used by: Discovery
fdisk Gathers the disks and size information on the system.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/fdisk -l
  • Used by: Discovery
multipath Gathers device mappings for MPIO.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/multipath -ll
  • Used by: Discovery
Linux and Solaris
dmsetup Examines a low level volume.
  • /etc/sudoers line example:
    • Disco ALL=(root) /usr/bin/dmsetup table *
    • Disco ALL=(root) /usr/bin/dmsetup ls
  • Used by: Discovery
All UNIX versions
lsof Determines the relationship between processes and the connections being made to the system.
  • /etc/sudoers line example: Disco ALL=(root) /sbin/lsof
  • Used by: Discovery
oratab Grants read access to the oratab file for locating the Oracle Home and pfile.
  • /etc/sudoers line example: N/A
  • Used by: Discovery
Solaris
iscsiadm Gets iSCSI IQNs
  • /etc/sudoers line example: ${sudo:iscsiadm list target -S}
  • Used by: Discovery
fcinfo Gets WWPNs for ports.
  • /etc/sudoers line example: ${sudo:fcinfo remote-port -sl -p $port}
  • Used by: Discovery
prtvtoc Reports information about disk partitions.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/prtvtoc
  • Used by: Discovery
pfiles

Used for gathering TCP connections information.

  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/pfiles

  • Used by: Discovery

pgrep

Used for listing process IDs of a particular region to run pfiles on.

  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/pgrep

  • Used by: Discovery

/usr/bin/ps Lists running process. As an alternative to running with root access, add a proc_owner role.
  • /etc/sudoers line example: Disco ALL=(root) /usr/bin/ps
  • Used by: Discovery
/usr/ucb/ps Lists running process. As an alternative to running with root access, add a proc_owner role.
The use of the /usr/ucb/ps command is deprecated as of Solaris 11. Because Discovery, Orchestration, and Integration Hub require the use of this command for all Solaris versions, you must install the ucb utility manually on Solaris 11 systems. For instructions, see KB0564262.
  • /etc/sudoers line example: Disco ALL=(root) /usr/ucb/ps
  • Used by: Discovery

For a list of privileged commands that you need for Discovery and Service Mapping, see Service Mapping commands requiring a privileged user. This list includes commands that require elevated rights to discover and map Unix-based hosts in your organization.

Access Requirements for Non-Root Credentials

If you do not provide Discovery with root access credentials, you must provide credentials with the following access requirements.
Application File or Directory Access Required
Apache httpd.conf Read
Hbase hbase-site.xml Read
JBoss jboss-service.xml Read
JBoss home directory Read
web.xml Read
MySQL my.cnf Read
NGINX nginx.conf Read
Oracle oratab Read
Associated (s) pfiles Read
Oracle Listener lsnrctl Execute
listener.ora Read
Tomcat catalina.jar Read
server.xml Read
web.xml Read
Unix /etc/*release Read
/etc/bashrc Read
/etc/profile Read
/proc/cpuinfo Read
/proc/vmware/sched/ncpus Read
/var/log/dmesg Read
APD directory Read
WebSphere cell.xml Read
server.xml Read
serverindex.xml Read