Make sure you can reach your ISP’s DNS as well as NTP servers,
ping -c1 DNS1 ping -c1 DNS2 yum -y install nmap nmap -Pn -p 53 DNS1 nmap -Pn -p 53 DNS2 nmap -sU -Pn -p 53 DNS1 nmap -sU -Pn -p 53 DNS2 nmap -sU -Pn -p 123 NTPSRV
Setup the hostname,
vi /etc/hostname # short is fine vi /etc/hosts # fqdn + short
Note. it’s ok to use shortname in /etc/hostname as long as you define the fqdn in /etc/hosts in first position.  In that case, hostname --short and hostname --long would be fine.  domainname however, would not work since hostname or uname -n alone would print the short hostname (domainname evaluates the domain part).
Check the network conf & time sync,
#vi /etc/sysconfig/network vi /etc/sysconfig/network/network-scripts/ifcfg-eth0 #vi /etc/resolv.conf cp -pi /etc/ntp.conf /etc/ntp.conf vi /etc/ntp.conf systemctl restart ntpd systemctl enable ntpd ntpq -p hwclock --systohc
Note. don’t forget to check the timezone setting,
ls -lhF /etc/localtime
Make sure SElinux is at least in permissive mode,
getenforce vi /etc/sysconfig/selinux SELINUX=permissive setenforce 0 getenforce
Eventually enable SElinux “enforcing” at some point (no reboot needed if you’re in permissive mode).
Make sure the system is up-do-date
yum -y upgrade
Install a few more packages – host and container
yum -y install \
    bc \
    bind-utils \
    bzip2 \
    cronie \
    cronie-noanacron \
    crontabs \
    curl \
    dos2unix \
    git \
    glibc-langpack-en \
    htop \
    iftop \
    iotop \
    lftp \
    man-db \
    man-db-cron \
    man-pages \
    mlocate \
    mtr \
    net-tools \
    ngrep \
    nmap \
    nmap-ncat \
    tar \
    telnet \
    wget \
    whois
    # elinks \
    # ksh \
    # mc \
    # motd \
    # rsync \
    # screen \
    # sudo
If you want mail – host and container
yum -y install \
    rsyslog \
    postfix \
    mailx
Bare-metal only
yum -y install \
    hdparm \
    pciutils
Update the file index
updatedb
Install EPEL and a few more packages
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
rpm -ivh epel-release-latest-7.noarch.rpm
yum -y install \
    colordiff \
    pwgen
Make sure the wheel group exists (default),
grep ^wheel /etc/group
Setup wheeled accounts for some sysadmin,
usermod -a -G wheel root user=WHEELED grep ^$user /etc/passwd grep ^$user /etc/group useradd -m -g users -G wheel $user #usermod -a -G wheel $user passwd $user su - $user ssh-keygen -t ecdsa ssh-keygen -t ed25519 #mkdir -p .ssh/ #chmod 700 .ssh/ vi ~/.ssh/authorized_keys YOU REMOTE PUBLIC KEY HERE chmod 600 ~/.ssh/authorized_keys ^D
Eventually authorize those wheeled users to become root with their user password (commented out) or even directly without password,
cp -pi /etc/sudoers /etc/sudoers.dist vi /etc/sudoers #/wheel #%wheel ALL=(ALL) ALL %wheel ALL=(ALL) NOPASSWD: ALL
Secure your logs a little bit and allow %wheel to read it,
#default is root.root -rw------- chown root:wheel /var/log/messages chmod g+r /var/log/messages #default is root.root -rw------- chown root:wheel /var/log/maillog chmod g+r /var/log/maillog
Secure SSH a little bit (and eventually enable a failover),
grep ^wheel /etc/group cd /etc/ssh/ cp -pi sshd_config sshd_config.dist vi sshd_config Port 2222 AllowGroups wheel PermitRootLogin without-password PasswordAuthentication no systemctl restart sshd tail -F /var/log/secure &
Keep your session up until you validated that you could log in again.
cp -pi /etc/bashrc /etc/bashrc.dist
vi /etc/bashrc
MAKEFLAGS=-j$((`grep ^processor /proc/cpuinfo | tail -1 | awk '{print $NF}'` + 1))
source /etc/bashrc
And eventually setup GNU/Screen.
Setting up Docker on various systems
https://serverfault.com/questions/255969/prevent-the-console-from-clearing-the-screen