Download as pdf or txt
Download as pdf or txt
You are on page 1of 24

4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.

log

############################################################################################
################################

2017-06-01 08:57:53: UNIX HEALTH CHECK FOR RED HAT ENTERPRISE LINUX

Copyright (c) 2004-2017 UNIX Health Check - All Rights Reserved

www.unixhealthcheck.com

This is confidential and unpublished work of authorship subject to limited use license
agreements and is a trade secret,

which is the property of UNIX Health Check (www.unixhealthcheck.com). All use, disclosure
and/or reproduction not

specifically authorized in writing by UNIX Health Check is strictly prohibited.

Any expressed or implied warranties are disclaimed. In no event shall UNIX Health Check be
liable for any direct, indirect,

incidental, special, exemplary, or consequential damages (including, but not limited to,
loss of use, data, profits, or

business interruption) however caused and on any theory of liability, whether in contract,
strict liability, or tort

(including negligence or otherwise) arising in any way out of the use of these scripts, even
if advised of the possibility

of such damage.

This report is generated by UNIX Health Check for Red Hat Enterprise Linux. It is an
overview of check scripts run on an

Red Hat system, and depending on the options selected when the checkall.sh script was run,
it will list each check script,

the returncode of the check script, the output of the check script and a description. At the
end of this report is an

overview of all scripts run and a score report.

Any individual implementing changes should completely understand the change and deem each
change appropriate before it is

applied to the system. As a standard rule, please take into consideration the impact on
other components before

implementing the change. Also, we encourage all to conduct a peer review of all changes
before implementation. Most

importantly, if the effect of a change is not fully understood, do not implement that change
until a satisfactory

explanation can be given as to what the effects of the change are. We recommend
implementation of one change at a time. The

application of many changes all at once will increase the likelihood of confusion, if issues
arise.

For more information, check website http://www.unixhealthcheck.com.

For support, email to support@unixhealthcheck.com.

############################################################################################
################################

2017-06-01 08:57:53: OPTIONS SELECTED

2017-06-01 08:57:53: Version: 17.05.31

2017-06-01 08:57:53: Start at: 06/01/2017 08:57:52 PDT

2017-06-01 08:57:53: Options: -gdvm support@unixhealthcheck.com

2017-06-01 08:57:53: Output file: checkall_server4.log

2017-06-01 08:57:53: Width: 124

2017-06-01 08:57:53: Display: WARNING and ERROR checks only, skipping inventory
scripts.

2017-06-01 08:57:53: Descriptions: Yes

2017-06-01 08:57:53: Output type: TEXT

2017-06-01 08:57:53: Email output to: support@unixhealthcheck.com

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 1/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
2017-06-01 08:57:53: # Checks: 405

############################################################################################
################################

2017-06-01 08:57:53: SYSTEM CONFIGURATION

2017-06-01 08:57:53: Hostname: server4 (server4.unixhealthcheck.com)

2017-06-01 08:57:53: IP Address: 192.168.50.15 on interface ens192

2017-06-01 08:57:53: IP Assignment: Static

2017-06-01 08:57:53: Subnet Mask: 255.255.255.192

2017-06-01 08:57:53: Default Gateway: 192.168.50.1

2017-06-01 08:57:53: Name Server(s): 192.168.52.56 192.168.52.57 8.8.8.8

2017-06-01 08:57:53: OS Level: Red Hat Enterprise Linux Server release 7.3 (Maipo)

2017-06-01 08:57:53: Model: VMware, Inc. VMware Virtual Platform

2017-06-01 08:57:53: Serial Number: VMware-58 4c 95 79 72 ee 79 32-6d d8 2b 93 71 52 e6 33

2017-06-01 08:57:53: Kernel: 64 bit

2017-06-01 08:57:53: Architecture: x86_64

2017-06-01 08:57:53: Processor Type: Intel(R) Xeon(R) CPU E5-2699 v4 @ 2.20GHz

2017-06-01 08:57:53: # Sockets: 1

2017-06-01 08:57:53: # Cores/socket: 4

2017-06-01 08:57:53: # Cores: 4

2017-06-01 08:57:53: # Threads/core: 1

2017-06-01 08:57:53: Hyper-Threading: Unavailable

2017-06-01 08:57:53: CPUs: 4

2017-06-01 08:57:53: Memory: 16384 MB

2017-06-01 08:57:53: Paging Space: 8063 (0% in use)

2017-06-01 08:57:53: Uptime: 08:57:53 up 51 days, 5:21, 1 user, load average: 0.04,
0.04, 0.05

############################################################################################
################################

2017-06-01 08:57:54: CHECK SCRIPTS

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:57:54: Running check script 49 of 405: checkblankpassword.sh

Description:

------------

This check script lists all user accounts that have no password set.

The best way to avoid user accounts for which no password is set, to log in to the system,
remove the "nullok" argument for

PAM module pam_unix.so for the auth service in /etc/pam.d/system-auth. This disables all
logins with blank passwords on the

system.

Output:

------------

Listing all user accounts with blank passords:

bin

daemon

adm

lp

sync

shutdown

halt

mail

operator

games

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 2/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

ftp

nobody

2017-06-01 08:57:54: Check checkblankpassword.sh reported WARNING(s): returncode 2

2017-06-01 08:57:54: Runtime: 0 second(s)

2017-06-01 08:57:54: 12% complete - 356 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:57:54: Running check script 59 of 405: checkcleanetc.sh

Description:

------------

Check for any files in /etc that can be cleaned up.

Often, old copies of configuration files are left behind in folder /etc, that will clutter
up the folder. This check script

identifies files that can be removed safely.

Output:

------------

Consider removing the following files and/or folders in /etc:

/etc/profile.old

/etc/sudoers.orig

2017-06-01 08:57:55: Check checkcleanetc.sh reported WARNING(s): returncode 2

2017-06-01 08:57:55: Runtime: 1 second(s)

2017-06-01 08:57:55: 14% complete - 346 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:57:55: Running check script 60 of 405: checkcleanroot.sh

Description:

------------

Check for any files in root directory that can be cleaned up.

Often, old files are left behind in the root home directory by system administrators. This
check script identifies files

that can be safely removed.

Output:

------------

Consider removing the following files and/or directories:

/1

2017-06-01 08:57:55: Check checkcleanroot.sh reported WARNING(s): returncode 2

2017-06-01 08:57:55: Runtime: 0 second(s)

2017-06-01 08:57:55: 14% complete - 345 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:57:55: Running check script 62 of 405: checkcleansshdir.sh

Description:

------------

Check for any files in ~root/.ssh that can be cleaned up.

Often, system administrators may leave behind old copies of files in ~root/.ssh, and this
check script will identify any

files that can be safely removed.

Output:

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 3/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
------------

Consider removing the following files in ~root/.ssh:

authorized_keys.orig

2017-06-01 08:57:55: Check checkcleansshdir.sh reported WARNING(s): returncode 2

2017-06-01 08:57:55: Runtime: 0 second(s)

2017-06-01 08:57:55: 15% complete - 343 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:58:59: Running check script 69 of 405: checkdefaultusersettings.sh

Description:

------------

Check if the default user settings in /etc/login.defs are correctly set.

File /etc/login.defs is a file that determines defaults for new regular and system user
accounts and groups.

This check script will verify the entries in /etc/login.defs, and if the items are set
appropriately for a secure system.

Output:

------------

Default attribute PASS_MAX_DAYS in /etc/login.defs is set to 99999, but should be 365 or


less.

PASS_MAX_DAYS defines the number of days a password is valid. Recommended value is between
90 and 365 days.

Default attribute PASS_MIN_DAYS in /etc/login.defs is set to 0, but should be at least 1.

PASS_MIN_DAYS defines the number of days between password changes. It should be higher than
0.

Default attribute PASS_MIN_LEN in /etc/login.defs is set to 5, but should be at least 9.

PASS_MIN_LEN defines the minimum length of a password, which should be between 9 and 20.

2017-06-01 08:58:59: Check checkdefaultusersettings.sh reported ERROR(s): returncode 1

2017-06-01 08:58:59: Runtime: 0 second(s)

2017-06-01 08:58:59: 17% complete - 336 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:00: Running check script 74 of 405: checkdnslookup.sh

Description:

------------

Check if a nslookup of the hostname can be done.

It is best practice to use DNS and to have the hostname correctly added to DNS.

This check script will also check if reverse IP lookup is enabled in DNS. It is best
practice to also be able to reverse

DNS lookup an IP address to a hostname.

Output:

------------

Hostname server4 could not be found in DNS.

2017-06-01 08:59:00: Check checkdnslookup.sh reported ERROR(s): returncode 1

2017-06-01 08:59:00: Runtime: 0 second(s)

2017-06-01 08:59:00: 18% complete - 331 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:01: Running check script 80 of 405: checketcdefaultuseraddinactive.sh

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 4/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

Description:

------------

Check the INACTIVE item in file /etc/default/useradd.

Item INACTIVE in /etc/default/useradd indicates when to change the account to inactive after
the password has expired, but

hasn't been changed. It is best practice to set it to 14 (days).

Output:

------------

Item INACTIVE in /etc/default/useradd is set to the default value of -1. Please update the
value to 14.

2017-06-01 08:59:01: Check checketcdefaultuseraddinactive.sh reported ERROR(s): returncode 1

2017-06-01 08:59:01: Runtime: 0 second(s)

2017-06-01 08:59:01: 19% complete - 325 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:01: Running check script 81 of 405: checketcdefaultuseraddperms.sh

Description:

------------

Check if the permissions of /etc/default/useradd are correctly set.

Quite often, the default permissions are set to 644, meaning that this file is readable for
everyone. For increased

security, please ensure that only user root can read and write this file, by running:

# chmod 600 /etc/default/useradd

Output:

------------

Permissions on file /etc/default/useradd are set to -rw-r--r-- instead of -rw-------. Run:


chmod 600 /etc/default/useradd

2017-06-01 08:59:01: Check checketcdefaultuseraddperms.sh reported ERROR(s): returncode 1

2017-06-01 08:59:01: Runtime: 0 second(s)

2017-06-01 08:59:01: 20% complete - 324 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:01: Running check script 89 of 405: checketchosts.sh

Description:

------------

Check the contents and permissions of /etc/hosts.

File /etc/hosts may not be empty. It needs to contain at least the server hostname and IP
address. Also, the IPv4 localhost

entry should be present:

127.0.0.1 localhost.localdomain localhost

This script will alert if any permission or ownership of the /etc/hosts file are incorrect,
as well as if the number of

entries in /etc/hosts is large. It is recommended to use DNS instead of entering a large


number of entries in /etc/hosts.

Furthermore, this check script will also make sure no additional entries have been added to
the IPv6 and IPv4 localhost

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 5/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
entries in /etc/hosts. If used at all, the IPv6 entry in /etc/hosts for localhost, should
look like this:

::1 localhost6.localdomain6 localhost6

Output:

------------

There are too many entries in /etc/hosts (52). Use DNS instead.

2017-06-01 08:59:01: Check checketchosts.sh reported ERROR(s): returncode 1

2017-06-01 08:59:01: Runtime: 0 second(s)

2017-06-01 08:59:01: 21% complete - 316 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:01: Running check script 107 of 405: checketcpasswdrootname.sh

Description:

------------

Check if the name of user root is correct in /etc/passwd.

If a system is cloned it may occur that a different system is mentioned in the GECOS field
for user root. If that user then

sends out an email it looks like it is originating from the original system, and not from
the actual system.

Having the hostname in the GECOS field for user root is very useful, to understand from
which system an email is

originating.

Output:

------------

The root GECOS field should at least include root and the hostname.

Run: usermod -c "root server4" root

2017-06-01 08:59:02: Check checketcpasswdrootname.sh reported ERROR(s): returncode 1

2017-06-01 08:59:02: Runtime: 0 second(s)

2017-06-01 08:59:02: 26% complete - 298 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:03: Running check script 151 of 405: checkhistfile.sh

Description:

------------

Check if the HISTFILE variable is set in /etc/profile or /etc/environment to something


different than the default

.sh_history.

By doing this, you can get a history file for each login session for each user. If not set,
only one history file per user

is written to ~/.sh_history. This will not allow for clear understanding which user exactly
used which command during which

login session. Therefore, it is recommended to set the histfile for each login session.

For more information, see:

www.aixhealthcheck.com/blog.php?id=251

Output:

------------

Environment variable HISTFILE is not set in /etc/bashrc.

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 6/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
2017-06-01 08:59:03: Check checkhistfile.sh reported ERROR(s): returncode 1

2017-06-01 08:59:03: Runtime: 0 second(s)

2017-06-01 08:59:03: 37% complete - 254 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:03: Running check script 177 of 405: checkksh.sh

Description:

------------

Check if ksh is installed.

The Korn Shell (ksh) is, besides the Bash Shell (bash), often used for scripts, and it is
therefore useful to have it

installed on any Linux system.

Output:

------------

The Korn Shell (ksh) is not installed. Run: yum install ksh

2017-06-01 08:59:03: Check checkksh.sh reported WARNING(s): returncode 2

2017-06-01 08:59:03: Runtime: 0 second(s)

2017-06-01 08:59:03: 43% complete - 228 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:03: Running check script 180 of 405: checklastlogsize.sh

Description:

------------

Check the size of the /var/log/lastlog file.

The file /var/log/lastlog is used by the lastlog command and records the last login time for
every user. This file is a

sparse file, and is known to grow really big in size, even though it does not use up that
much space in the /var file

system.

If the system reports that the file is over 50 MB, it is best to empty the file, as this
will aid in keeping the backup of

the /var file system small.

Output:

------------

The size of /var/log/lastlog is over 50 MB: 56 MB.

Run: cp /dev/null /var/log/lastlog

2017-06-01 08:59:03: Check checklastlogsize.sh reported ERROR(s): returncode 1

2017-06-01 08:59:03: Runtime: 0 second(s)

2017-06-01 08:59:03: 44% complete - 225 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 08:59:03: Running check script 182 of 405: checkleapvulnerability.sh

Description:

------------

Check if the system is vulnerable to the 2016 leap second.

Leap seconds are a periodic one-second adjustment of Coordinated Universal Time(UTC) in


order to keep a system's time of

day close to the mean solar time. However, the Earth's rotation speed varies in response to
climatic and geological events,

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 7/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

and due to this, UTC leap seconds are irregularly spaced and unpredictable. A leap second
insertion is taking place on June

30th, 2015 at 23:59:60. Systems running NTP are generally not vulnerable, however on systems
without NTP the leap second

may cause the kernel to crash.

This check script will indicate if you either need to update the tzdata package and/or if
you need to update the NTP

version on your system.

This script is a copy from https://access.redhat.com/labs/leapsecond/

Output:

------------

[INFORMATION]

- Installed kernel version: 3.10.0-514.el7.x86_64

- The system is running NTP: ntp-4.2.6p5-25.el7.x86_64

When the leap second occurs, this systems time will be stepped by the kernel. Thus, it is
configured to stay in sync with

the true/official time.


[SUGGESTIONS ON KERNEL]
A known issue of kernel is detected and listed below. Refer to the link attached for the
remediation steps.

- There is a chance that hrtimers may fire early when the leap second is inserted; this
issue is documented in
<https://access.redhat.com/solutions/2766351>.

2017-06-01 08:59:04: Check checkleapvulnerability.sh reported ERROR(s): returncode 1

2017-06-01 08:59:04: Runtime: 1 second(s)

2017-06-01 08:59:04: 44% complete - 223 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:09: Running check script 207 of 405: checknoatime.sh

Description:

------------

Check if the noatime mount option has been set for any file systems.

If there's a lot of file activity, the system has to update a lot of timestamps, e.g. file
creation time (ctime), file last

modified time (mtime), and file last access time (atime). File systems with heavy inode
access activity due to file opens

can have significant performance improvements if the noatime option has been set for those
file systems.

The atime attribute is sometimes called perhaps the most stupid Unix design idea of all
times. Think about this a bit: For

every file that is read from the disk, let's do a ... write to the disk! And, for every file
that is already cached in

memory and which we read from the cache ... do a write to the disk!

The performance impact of atime is thus: atime updates are by far the biggest I/O
performance deficiency that Unix has

today. Getting rid of atime updates would give us more everyday Unix performance than all
the pagecache speedups of the

past 10 years, _combined_.

To check if a file system has been mounted with the noatime option, run:

# mount | grep noatime

To change a file system to use the noatime mount option, edit /etc/fstab, and add "noatime"
as an extra mount option to

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 8/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

each ext2/3/4 or xfs file system entry, for example "defaults,noatime". Once updated, save
the file, and reboot the server

to allow all the file systems to be re-mounted using the noatime mount option.

Output:

------------

File system / is not using the noatime mount option.

File system /boot is not using the noatime mount option.

File system /home is not using the noatime mount option.

File system /var is not using the noatime mount option.

File system /home/jmmdhs is not using the noatime mount option.

File system /home/hci is not using the noatime mount option.

File system /quovadx is not using the noatime mount option.

File system /quovadx/ftpout is not using the noatime mount option.

File system /quovadx/archive is not using the noatime mount option.

2017-06-01 09:00:09: Check checknoatime.sh reported ERROR(s): returncode 1

2017-06-01 09:00:09: Runtime: 0 second(s)

2017-06-01 09:00:09: 51% complete - 198 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:09: Running check script 211 of 405: checkntpdate.sh

Description:

------------

Check if the server is properly time synchronized with its time server.

If it is off by more than 10 seconds, this script will generate a warning message.

If there is an offset with the timeserver, then check the timeservers in /etc/ntp.conf, and
make sure the time servers are

correctly listed.

To synchronize the time of a server with the time server, run:

# service ntpd stop

# ntpdate [timeserver]

# service ntpd start

Note: replace "timeserver" in the command above with the actual hostname of a time server in
your environment.

Output:

------------

The ntpdate service is not enabled at system boot time. Run: systemctl enable
ntpdate.service

2017-06-01 09:00:15: Check checkntpdate.sh reported ERROR(s): returncode 1

2017-06-01 09:00:15: Runtime: 6 second(s)

2017-06-01 09:00:15: 52% complete - 194 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:15: Running check script 212 of 405: checkntpd.sh

Description:

------------

Check if the time server, ntpd, is active, and if the configuration file, /etc/ntp.conf is
correct.

It is crucial that the time on the physical servers remains synchronized. The most common
way to achieve this is through

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 9/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

NTP. NTP synchronizes the time on the local server to a centralized time server that can be
something public, such as the

atomic clock, or a centralized, trusted, time clock within an organization. Either way is
acceptable as long as all nodes

in the application configuration are synchronized to a known, trusted time source.

If utilizing NTP from a public time source, the usage of 3 public servers is recommended to
ensure the most accurate time

is used. If utilizing a private server, a single node is acceptable, although we recommend


to have at least 2 time servers

configured in /etc/ntp.conf. In both cases, the connection information (hostname or IP


address) is needed for all time

server hosts being utilized.

If ntpd is not active, use the following command to enable it:

# service ntpd restart

# chkconfig ntpd on

If the time on the server is off by more than 5 minutes, use the ntpdate command to
synchronize the time with one of your

time servers. Look in /etc/ntp.conf for the time servers configured on your system. To
synchronize the time, run:

# ntpdate ntpserver

Replace "ntpserver" in the command above with an actual NTP server listed in /etc/ntp.conf.

You can use the following command to verify that NTP is functional:

# ntpq -p

The local node's NTP daemon will mark a remote NTP server as trusted after a short period of
time (5 - 15 minutes). During

this time, the local node's NTP daemon is determining the stability of the remote NTP
server. The "*" seen in front of the

remote NTP server's name or IP address in the output of ntpq -p command designates the
trusted, remote NTP server. All

remote NTP servers should have a stratum value less than 10. The stratum value is under the
st column in the ntpq -p -n

command.

In the below example, the remote NTP server, 159.140.213.147, is the trusted, remote NTP
server.

# ntpq -p

remote refid st t when poll reach delay offset jitter

==============================================================================

*159.140.213.147 169.254.0.1 3 u 51 64 377 1.085 1.028 0.471

+159.140.213.148 169.254.0.1 3 u 58 64 377 1.280 1.087 0.771

Output:

------------

The ntpdate service is not enabled at system boot time. Run: systemctl enable
ntpdate.service

2017-06-01 09:00:15: Check checkntpd.sh reported ERROR(s): returncode 1

2017-06-01 09:00:15: Runtime: 0 second(s)

2017-06-01 09:00:15: 52% complete - 193 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:15: Running check script 214 of 405: checkntpoptions.sh

Description:

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 10/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

------------

Check if the correct options are present in /etc/sysconfig/ntpd for the NTP daemon.

The following entry should be present in /etc/sysconfig/ntpd:

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

Option -x is used to enable slewing, to slowly adjust the clock if necessary.

It is required to run the NTP daemon with the -x option. This option allows for time
corrections to be done with the "slew"

mechanisms instead larger jumps in time called "steps".

Option -u ntp:ntp will drop the user for the NTP daemon from root to ntp.

Option -p /var/run/ntpd.pid determines the location of the PID file of the NTP daemon.

Option -g will avoid the NTP daemon from stopping if the hardware clock (or chip time)
differs more than 1000 seconds from

the server clock. Option -g overrides the hardware clock.

The additional parameter -g allows for the NTP daemon to survive a larger time gap at
startup before shutting down

abnormally.

If you update /etc/sysconfig/ntpd, be sure to restart the NTP daemon:

# service ntpd restart

Output:

------------

NTP slewing option "-x" is missing in item OPTIONS in /etc/sysconfig/ntpd.

NTP pidfile is not set in item OPTIONS in /etc/sysconfig/ntpd. Make sure to add "-p
/var/run/ntpd.pid".

2017-06-01 09:00:15: Check checkntpoptions.sh reported ERROR(s): returncode 1

2017-06-01 09:00:15: Runtime: 0 second(s)

2017-06-01 09:00:15: 52% complete - 191 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:15: Running check script 217 of 405: checkntpslewing.sh

Description:

------------

Check if the slewing option (-x) is enabled for the NTP daemon, ntpd.

Slewing is important to enable. This will ensure that any time changes that are required or
done so, in a slewing fashion,

taking small steps at a time, so no large time changes occur on the system, which often
impact any applications depending

on correct time settings.

If slewing is not enabled, make sure that the -x option is added to /etc/sysconfig/ntp, as
follows:

OPTIONS="-x -u ntp:ntp -p /var/run/ntpd.pid -g"

Once you have updated this file, restart ntpd:

# service ntpd restart

Then check if you can see the ntpd daemon active with the -x option:

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 11/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

# ps -aef | grep ntpd | grep -v grep

ntp 16361 1 0 15:01 ? 00:00:00 ntpd -x -u ntp:ntp -p /var/run/ntpd.pid -g

Output:

------------

NTP slewing is not enabled.

2017-06-01 09:00:15: Check checkntpslewing.sh reported ERROR(s): returncode 1

2017-06-01 09:00:15: Runtime: 0 second(s)

2017-06-01 09:00:15: 53% complete - 188 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:15: Running check script 219 of 405: checkntpsteptickers.sh

Description:

------------

Check if /etc/ntp/step-tickers is empty, so ntpdate will use a time server from


/etc/ntp.conf.

File /etc/ntp/step-tickers is used by the /etc/rc.d/init.d/ntpdate command, so determine the


IP address or hostname to do

an initial time synchronization with at boot time. If this file is empty, then it will use a
time server configured in

/etc/ntp.conf instead. Because ntp.conf needs to contain the time servers already, there is
no need to configure these as

well in /etc/ntp/step-tickers, and we recommend to leave the file empty instead.

Output:

------------

File /etc/ntp/step-tickers should be empty. Run: cp -f /dev/null /etc/ntp/step-tickers

2017-06-01 09:00:15: Check checkntpsteptickers.sh reported ERROR(s): returncode 1

2017-06-01 09:00:15: Runtime: 0 second(s)

2017-06-01 09:00:16: 54% complete - 186 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 220 of 405: checkntpsynchwclock.sh

Description:

------------

Check if the synchronization of the hardware clock has been enabled.

The parameter SYNC_HWCLOCK will synchronize the local node's internal clock after a
successful execution of ntpdate command

to a trusted NTP server.

n RHEL 5 or earlier, modify the SYNC_HWCLOCK to yes in /etc/sysconfig/ntpd file:

# Set to 'yes' to sync hw clock after successful ntpdate

SYNC_HWCLOCK=yes

Starting in RHEL 6, hardware clock synchronization at boot time is handled by the ntpdate
service. Modify the SYNC_HWCLOCK

to yes in /etc/sysconfig/ntpdate file.

# Set to 'yes' to sync hw clock after successful ntpdate

SYNC_HWCLOCK=yes

On RHEL 6 or later, set the ntpdate service to be enabled:

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 12/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

# chkconfig ntpdate on

# service ntpdate start

Output:

------------

SYNC_HWCLOCK is not enabled. Add "SYNC_HWCLOCK=yes" to /etc/sysconfig/ntpdate.

2017-06-01 09:00:16: Check checkntpsynchwclock.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 54% complete - 185 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 235 of 405: checkpamnullok.sh

Description:

------------

Check if there is no nullok argument listed for pam_unix.so allowing a user without a
password to log in to the system.

The PAM configuration option that enables null passwords is the nullok module argument
passed to pam_unix.so PAM module.

You'll want to remove this argument from any modules of auth type for services that allow
login.

To avoid allowing user accounts for which no password is set to be able to log into the
system, the "nullok" argument for

the auth entry for the pam_unix.so module in /etc/pam.d/system-auth should be removed.

To create a user account without a password, run:

# useradd test

# usermod -p "" test

Output:

------------

Argument nullok is listed for pam_unix.so for the auth service type in file
/etc/pam.d/system-auth.
This allows users without a password to log in to the system.

Please remove argument nullok from this entry.

Argument nullok is listed for pam_unix.so for the password service type in file
/etc/pam.d/system-auth.
This allows users to change their passwords to a null value.

Please remove argument nullok from this entry.

Argument nullok is listed for pam_unix.so for the auth service type in file
/etc/pam.d/password-auth.

This allows users without a password to log in to the system.

Please remove argument nullok from this entry.

Argument nullok is listed for pam_unix.so for the password service type in file
/etc/pam.d/password-auth.

This allows users to change their passwords to a null value.

Please remove argument nullok from this entry.

2017-06-01 09:00:16: Check checkpamnullok.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 58% complete - 170 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 236 of 405: checkpampasswordhistory.sh

Description:

------------

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 13/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
Check if password history checking is enabled through PAM pam_unix.so or pam_pwhistory.so.

Depending on the Red Hat Enterprise Linux version used, an argument "remember=20" should be
added to either pam_unix.so

(for RHEL version 6 or lower) or pam_pwhistory.so (for RHEL 7 and up) to files
/etc/pam.d/system-auth and

/etc/pam-d/password-auth. This will ensure that password history is kept in file


/etc/security/opasswd. We recommend a

value of 20, which means the last 20 passwords are kept for user accounts, and cannot be re-
used by users, which increases

system security. The maximum number of passwords that can be kept is 400.

On RHEL7 and up, the following entry should be listed after pam_pwquality.so:

password required pam_pwhistory.so remember=20 use_authtok

On RHEL6 and below, the following entry should be present after pam_cracklib.so:

password sufficient pam_unix.so sha512 shadow try_first_pass use_authtok remember=20

Good sources to read more about password history are:

RHEL 6: http://www.deer-run.com/~hal/sysadmin/pam_cracklib.html

RHEL 7: http://www.deer-run.com/~hal/linux_passwords_pam.html

Output:

------------

The pam_pwhistory.so module is missing in file /etc/pam.d/system-auth. Please add after


pam_pwquality.so:

password required pam_pwhistory.so remember=20 use_authtok

The pam_pwhistory.so module is missing in file /etc/pam.d/password-auth. Please add after


pam_pwquality.so:

password required pam_pwhistory.so remember=20 use_authtok

2017-06-01 09:00:16: Check checkpampasswordhistory.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 58% complete - 169 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 237 of 405: checkpampwquality.sh

Description:

------------

Check if pam_pwquality.so is used, and if so, with the correct entries.

The pam_pwquality.so module replaced pam_cracklib.so in version 7 of Red Hat Enterprise


Linux, in files

/etc/pam.d/system-auth and /etc/pam.d/password-auth. It can be used to determine the


password complexity settings for user

accounts.

As such, this check script only applies to systems running RHEL 7 or higher.

We recommend not making any changes to files /etc/pam.d/system-auth and/or


/etc/pam.d/password-auth, but instead using file

/etc/security/pwquality.conf.

We recommend setting the following entries in /etc/security/pwquality.conf:

difok = 5

minlen = 9

dcredit = -1

ucredit = -1

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 14/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
lcredit = -1

ocredit = -1

maxrepeat = 4

gecoscheck = 1

This requires user accounts to have at least a length of 9 characters, and the password
should include at least 1 digit,

one upper-case letter and one special character. Also, the user is allowed 3 times to set a
password (retry=3 is defined in

both /etc/pam.d/system-auth and /etc/pam.d/password-auth), and cannot use more than 4


consecutive characters in a password.

Finally, a new password should differ at least with 5 characters of the previous password,
and a check is done to validate

that no words found in the gecos field for the user are part of the new password.

Output:

------------

Argument minlen is missing in file /etc/security/pwquality.conf. Add "minlen=9" to file


/etc/security/pwquality.conf.

This argument defines the minimum length of the password. The value should be between 9 and
20.

Argument maxrepeat is missing in file /etc/security/pwquality.conf. Add "maxrepeat=4" to


file /etc/security/pwquality.conf.

This argument defines the maximum number of the same consecutive characters. The default is
0. It should be set between 2

and 4.

Argument lcredit is missing in file /etc/security/pwquality.conf. Add "lcredit=-1" to file


/etc/security/pwquality.conf.

This argument determines the minimum number of lower-case characters in a password. It


should be set to -1 specifying at

least one lower-case character is required.

Argument ucredit is missing in file /etc/security/pwquality.conf. Add "ucredit=-1" to file


/etc/security/pwquality.conf.

This argument determines the minimum number of upper-case characters in a password. It


should be set to -1 specifying at

least one upper-case character is required.

Argument dcredit is missing in file /etc/security/pwquality.conf. Add "dcredit=-1" to file


/etc/security/pwquality.conf.

This argument determines the minimum number of digits in a password. It should be set to -1
specifying at least one digit

is required.

Argument ocredit is missing in file /etc/security/pwquality.conf. Add "ocredit=-1" to file


/etc/security/pwquality.conf.

This argument determines the minimum number of special characters in a password. It should
be set to -1 specifying at least

one special character is required.

Argument gecoscheck in /etc/security/pwquality.conf is not set to a non-zero value.

This argument determines if any words in the gecos field of the user can be used in a
password. It should be enabled (set

to non-zero).

2017-06-01 09:00:16: Check checkpampwquality.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 58% complete - 168 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 243 of 405: checkpostfixmydomain.sh

Description:

------------

Check if a mydomain entry is present in /etc/postfix/main.cf.

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 15/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
The mydomain entry in file /etc/postfix/main.cf is important for the Postfix mail system.
Without it, Postfix may not be

able to send email properly.

The mydomain entry should contain the domain name of the system, for example:

mydomain = domain.com

After updating /etc/postfix/main.cf, make sure to reload the configuration, so Postfix is


aware of the changes, by running:

# postfix reload

Output:

------------

No mydomain entry has been configured in /etc/postfix/main.cf.

2017-06-01 09:00:16: Check checkpostfixmydomain.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 60% complete - 162 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 244 of 405: checkpostfixmyhostname.sh

Description:

------------

Check if a myhostname entry is present in /etc/postfix/main.cf.

The myhostname entry in /etc/postfix/main.cf is important for the Postfix mail system.
Without it, it may not be able to

send email.

The entry in /etc/postfix/main.cf has to look similar to this:

myhostname = hostname.domain.com

This check script will also alert if the hostname of the system does not match with the
myhostname entry in

/etc/postfix/main.cf.

After updating /etc/postfix/main.cf, make sure to reload Postfix in order to have it pick up
any changes to the main.cf

file, by running:

# postfix reload

Output:

------------

No myhostname entry has been configured in /etc/postfix/main.cf.

2017-06-01 09:00:16: Check checkpostfixmyhostname.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 60% complete - 161 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:16: Running check script 245 of 405: checkpostfixmyorigin.sh

Description:

------------

Check if a myorigin entry is not present in /etc/postfix/main.cf.

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 16/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
The myorigin entry in /etc/postfix/main.cf can be used for the Postfix mail system, to make
it look like email is coming

from a different domain. The myorigin parameter specifies the domain that locally-posted
mail appears to come from. The

default is to append $myhostname, which is fine for small sites.

Using the myorigin entry, may also result in the Linux system not being able to deliver
email to local email addresses (for

users on the Linux system itself).

It is therefore recommended to not use the myorigin entry in /etc/postfix/main.cf.

After updating the main.cf file, make sure to reload the configuration for Postfix, by
running:

# postfix reload

Output:

------------

A myorigin entry has been configured in /etc/postfix/main.cf.

It is recommended to comment out this entry or to remove it.

2017-06-01 09:00:16: Check checkpostfixmyorigin.sh reported ERROR(s): returncode 1

2017-06-01 09:00:16: Runtime: 0 second(s)

2017-06-01 09:00:16: 60% complete - 160 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:17: Running check script 252 of 405: checkresolvconf.sh

Description:

------------

This script checks a number of items on /etc/resolv.conf:

First, the file should exist. Also, there should be only one domain entry in the file, and
only one search entry. There

should be a nameserver entry in the file, and no more than 3 entries. The search entry must
be 1024 characters or less. The

FQDN discovered through the /etc/resolv.conf must be resolvable through DNS. The search
order in the search entry should be

correct (smaller domains should be listed in /etc/resolv.conf BEFORE larger domains, which
they are part of).

Besides that, there are several other checks within this script, to ensure that name
resolving works properly.

Output:

------------

FQDN server4.unixhealthcheck.com could not be resolved through DNS.

2017-06-01 09:00:18: Check checkresolvconf.sh reported ERROR(s): returncode 1

2017-06-01 09:00:18: Runtime: 1 second(s)

2017-06-01 09:00:18: 62% complete - 153 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:18: Running check script 271 of 405: checksharutils.sh

Description:

------------

Check if the sharutils package has been installed.

The sharutils package contains the GNU shar utilities, a set of tools

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 17/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
for encoding and decoding packages of files (in binary or text format)

in a special plain text format called shell archives (shar). This

format can be sent through e-mail (which can be problematic for regular

binary files). Install sharutils if you send binary files through e-mail.

Output:

------------

The sharutils package is not installed. Run: yum install sharutils

2017-06-01 09:00:18: Check checksharutils.sh reported ERROR(s): returncode 1

2017-06-01 09:00:18: Runtime: 0 second(s)

2017-06-01 09:00:18: 66% complete - 134 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:18: Running check script 275 of 405: checksshsyslogfacility.sh

Description:

------------

Check if SyslogFacility is enabled in /etc/ssh/sshd_config.

By default, the following 2 entries in /etc/ssh/sshd_config should be enabled to log


messages from the SSH daemon to syslog:

SyslogFacility AUTHPRIV
LogLevel DEBUG

The good thing about enabling these 2 items is, that it will now log all activity via ssh.
Once you've enabled these 2

items, restart the SSH daemon, by running:

# service sshd restart

Also make sure that an entry in /etc/rsyslog.conf (if rsyslog is used on RHEL6 or later) or
/etc/syslog.conf (if syslog is

used on RHEL5 or earlier) is present that records the authpriv.debug messages to a file. For
example:

authpriv.* /var/log/secure

And make sure that the file that is referenced in /etc/rsyslog.conf or /etc/syslog.conf
(/var/log/secure in the example

above) exists. Then, make sure that the syslog daemon knows about any modification to
/etc/rsyslog.conf or

/etc/syslog.conf, by refreshing it:

# service rsyslog restart

or

# service syslogd restart

Output:

------------

The LogLevel option should be set to DEBUG and should be enabled in /etc/ssh/sshd_config.

2017-06-01 09:00:18: Check checksshsyslogfacility.sh reported ERROR(s): returncode 1

2017-06-01 09:00:18: Runtime: 0 second(s)

2017-06-01 09:00:18: 67% complete - 130 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:25: Running check script 280 of 405: checksudocommands.sh

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 18/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log
Description:

------------

Check if the commands in the /etc/sudoers file (configuration file for the sudo utility)
exist. Having a command in the

/etc/sudoers file that does not exist does not make sense.

Please make sure to include the full pathname to any command in the /etc/sudoers file. And
also make sure to always edit

the /etc/sudoers file using the visudo command.

This check script will also check any files or folders included using the #include and
#includedir directives in

/etc/sudoers.

Output:

------------

Command "/sbin/umount" in file /etc/sudoers does not exist.

2017-06-01 09:00:25: Check checksudocommands.sh reported ERROR(s): returncode 1

2017-06-01 09:00:25: Runtime: 0 second(s)

2017-06-01 09:00:25: 69% complete - 125 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:25: Running check script 282 of 405: checksudoersdefaults.sh

Description:

------------

Check if the necessary defaults have been set in /etc/sudoers.

It is a good habit to enable at least 3 default entries in /etc/sudoers:

logfile - to determine the location of the sudo log file;

log_year - to log the current year in the sudo log file;

loglinelen=0 - to avoid wrapping text in the sudo log file (by default, entries in the sudo
log file are word-wrapped at 80

characters).

So, the following entry can be added to /etc/sudoers, by using the visudo command:

Defaults logfile=/var/log/sudo.log, log_year, loglinelen=0

Output:

------------

Default option log_year in /etc/sudoers has not been set.

Default option loglinelen=0 in /etc/sudoers has not been set.

Default option logfile in /etc/sudoers has not been set.

2017-06-01 09:00:26: Check checksudoersdefaults.sh reported ERROR(s): returncode 1

2017-06-01 09:00:26: Runtime: 1 second(s)

2017-06-01 09:00:26: 69% complete - 123 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:26: Running check script 287 of 405: checksudoersgroups.sh

Description:

------------

Check if any groups defined in /etc/sudoers or any files in /etc/sudoers.d aren't set to
primary groups of users.

This check script will check for any groups defined in /etc/sudoers and any files in
https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 19/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

/etc/sudoers.d, and will check if

there are any users defined in /etc/passwd that have any of those groups as their primary
group.

Although it is possible, we recommend that you do not define the primary group of a user as
a group known in /etc/sudoers,

or any file in /etc/sudoers.d. The reason for this is, that primary groups configured for
user accounts are not listed in

/etc/group.

For example, if the primary group of user "theo" is set to "wheel", and group "wheel" has
been added to /etc/sudoers with

root access, then by looking at /etc/group, you will not see that user "theo" is a member of
group "wheel". You will only

see this if you run "groups theo", or if you compare the group ID defined as the primary
group for user "theo" in

/etc/passwd, with the group ID known in /etc/group. It is easier to recognize if user "theo"
has been added to group

"wheel" as a secondary group, and his primary group has been set to something else, such as
"staff" instead. That way, you

can see in /etc/group that "theo" is a member of group "wheel".

If this script identifies any users with a primary group that is configured in /etc/sudoers
or a file in /etc/sudoers.d,

then change the primary group of the user to something else, and add the former primary
group as a secondary group to the

user account instead.

For example, for user "theo":

# usermod -g users theo


# usermod -a -G wheel theo

Output:

------------

The following users have group ITS as their primary group and that group is also defined in
/etc/sudoers:

us40894 us82125 us87865


The following users have group sig as their primary group and that group is also defined in
/etc/sudoers:

us81803 us50814 us102041 us202000

2017-06-01 09:00:26: Check checksudoersgroups.sh reported ERROR(s): returncode 1

2017-06-01 09:00:26: Runtime: 0 second(s)

2017-06-01 09:00:26: 70% complete - 118 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:26: Running check script 296 of 405: checksysfsutils.sh

Description:

------------

Check if the sysfsutils package is installed.

By default, this package is not installed on Red Hat systems. The sysfsutils package is a
set of utilities built upon

sysfs, a virtual filesystem in Linux kernel versions 2.5_ that exposes a system's device
tree. A very useful tool in this

package is systool. Installation of package sysfsutils is recommended, so systool can be


used on the system.

Output:

------------

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 20/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

Package sysfsutils is not installed.

2017-06-01 09:00:26: Check checksysfsutils.sh reported ERROR(s): returncode 1

2017-06-01 09:00:26: Runtime: 0 second(s)

2017-06-01 09:00:26: 73% complete - 109 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:26: Running check script 308 of 405: checktmout.sh

Description:

------------

Check if a shell timeout has been set.

Setting a shell timeout prevents unauthorized access. A TMOUT value (higher than 0) should
be set in /etc/profile or in

/etc/bashrc.

Output:

------------

No shell timeout set. Set the TMOUT value to a non-zero value in /etc/profile or
/etc/bashrc.

2017-06-01 09:00:26: Check checktmout.sh reported ERROR(s): returncode 1

2017-06-01 09:00:26: Runtime: 0 second(s)

2017-06-01 09:00:26: 76% complete - 97 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:31: Running check script 317 of 405: checktsmbackup.sh

Description:

------------

Check if the most recent TSM / IBM Spectrum Protect backup was successful or not.

This check only applies to systems that are backed up by TSM / IBM Spectrum Protect.

Output:

------------

Sched log file /var/log/backup/dsmsched.log does not exist.

2017-06-01 09:00:31: Check checktsmbackup.sh reported ERROR(s): returncode 1

2017-06-01 09:00:31: Runtime: 0 second(s)

2017-06-01 09:00:31: 78% complete - 88 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:32: Running check script 328 of 405: checktsmsched.sh

Description:

------------

Check if the TSM / IBM Spectrum Protect scheduler is active. Check if the scheduler is
started at system boot time. Check

it the TSM / IBM Spectrum Protect scheduler is started after any update to dsm.sys.

This check only applies to systems that are backed up through TSM / IBM Spectrum Protect.

Output:

------------

TSM / IBM Spectrum Protect scheduler and/or acceptor daemon is not active.

2017-06-01 09:00:32: Check checktsmsched.sh reported ERROR(s): returncode 1

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 21/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

2017-06-01 09:00:32: Runtime: 0 second(s)

2017-06-01 09:00:32: 80% complete - 77 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:33: Running check script 331 of 405: checktzdata.sh

Description:

------------

Check if package tzdata is up-to-date and any tzdata-java package is the same level as
tzdata.

This check script will alert if the tzdata package is too old. The tzdata package determines
the time zone configuration of

the local machine, and due to frequent changes to time zone related information, it is
important to keep package tzdata

up-to-date.

Besides package tzdata, also a package tzdata-java exists, which holds time zone information
for Java applications, and may

also be installed. This check script will check if the tzdata-java package is of the same
version as tzdata. Whenever

tzdata is updated, and you have tzdata-java installed, please also update tzdata-java.

Output:

------------

Package tzdata has version 2016h, while package tzdata-java has version 2016i. Please ensure
both packages have the same

level.

2017-06-01 09:00:33: Check checktzdata.sh reported ERROR(s): returncode 1

2017-06-01 09:00:33: Runtime: 0 second(s)

2017-06-01 09:00:33: 81% complete - 74 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:33: Running check script 343 of 405: checkusernopassword.sh

Description:

------------

Check if there are user accounts that have no password set.

It is recommended to set a password for all user accounts that can login to the system.

Note: User accounts without a password can not be used to log in directly to a system, and
will display a double

exclamation mark in the password field in /etc/shadow. However, if there are other
authentication mechanisms configured for

an account without a password, such as SSH keys that have been configured, then even if no
password is set, someone can log

in to the system using that user account. As such, we recommend setting a password for all
user accounts.

Output:

------------

User us50814 has no password set. It is recommended to set a password for this account.

2017-06-01 09:00:33: Check checkusernopassword.sh reported ERROR(s): returncode 1

2017-06-01 09:00:33: Runtime: 0 second(s)

2017-06-01 09:00:33: 84% complete - 62 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:34: Running check script 363 of 405: checkusrlibperms.sh

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 22/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

Description:

------------

Check if the permissions of the /usr/lib folder are correctly set.

Output:

------------

Permission on folder /usr/lib set to dr-xr-xr-x instead of drwxr-xr-x. Run: chmod 755
/usr/lib

2017-06-01 09:00:34: Check checkusrlibperms.sh reported ERROR(s): returncode 1

2017-06-01 09:00:34: Runtime: 0 second(s)

2017-06-01 09:00:34: 89% complete - 42 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

2017-06-01 09:00:35: Running check script 397 of 405: checkyumcheckupdate.sh

Description:

------------

Check if there are any updates to be installed through yum.

The following command will display if any updates are available for your system:

# yum check-update

You may also run:

# yum list updates

If any updates are available, and are okay to be updated, run:

# yum update

Keeping your system up to date with the latest available updates is important for the
stability and security of the system.

Output:

------------

Packages are available for an update. Run: yum check-update

2017-06-01 09:00:38: Check checkyumcheckupdate.sh reported ERROR(s): returncode 1

2017-06-01 09:00:38: Runtime: 3 second(s)

2017-06-01 09:00:38: 98% complete - 8 checks to go.

--------------------------------------------------------------------------------------------
--------------------------------

############################################################################################
################################

2017-06-01 09:00:38: RESULTS

2017-06-01 09:00:38: Run time for all checks : 166 seconds

2017-06-01 09:00:38: Total number of checks : 405

2017-06-01 09:00:38: # Checks with result OK : 364

2017-06-01 09:00:38: # Checks with result WARNING : 5

2017-06-01 09:00:38: # Checks with result ERROR : 36

2017-06-01 09:00:38: Score [Percentage OK/WARNING] : 91 %

2017-06-01 09:00:38: For details see logfile : /uhc/checkall_server4.log

############################################################################################
https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 23/24
4/10/23, 6:35 AM https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log

################################

https://www.unixhealthcheck.com/sample/checkall_rhel_server4.log 24/24

You might also like