ROOTPLOIT
Server: Apache
System: Linux node6122.myfcloud.com 6.14.3-x86_64-linode168 #1 SMP PREEMPT_DYNAMIC Mon Apr 21 19:47:55 EDT 2025 x86_64
User: bashacomputer (1004)
PHP: 7.4.33
Disabled: exec,passthru,shell_exec,system
Upload Files
File: //usr/lib64/nagios/plugins/check_a2_dedi_nvme.mdedi
#!/bin/bash
# SYSENG-27972 - Find if M.2/U.2 drives are used correctly
#

raid_array=$(ls -l /dev/md/root | grep -o "md[0-9]\+")
drives_array=($(mdadm --detail /dev/"${raid_array}" | grep "dev/nvme" | awk '{print $NF}' | sed 's/p[0-9]*$//'))
for drive in "${drives_array[@]}"; do
  if nvme id-ctrl 2>/dev/null "${drive}" | grep subnqn | grep -q M.2; then
    os_drive_wrong=${drive}
    backup_drive=$(df -h | grep "/backup" | awk '{print $1}' | sed 's/p[0-9]*$//')
    if ! nvme id-ctrl 2>/dev/null "${backup_drive}" | grep subnqn | grep -q  M.2; then
      backup_drive_wrong=${backup_drive}
    fi
  fi
done

if [[ -n "${os_drive_wrong}" ]] && [[ -n "${backup_drive_wrong}" ]]; then
  echo "check_dedi_nvme - ${os_drive_wrong}(M.2) should be backup drive and ${backup_drive_wrong}(U.2) should be OS drive"
  exit 2
else
  echo "check_dedi_nvme - M2,U2 nvme drives state is good"
  exit 0
fi