CasperSecurity

Current Path : /usr/share/bug/mdadm/
Upload File :
Current File : //usr/share/bug/mdadm/script

#!/bin/bash
#
# mdadm bug submission control script
#
# allows Debian's bug tools to include relevant information in bug reports.
#
# Copyright © martin f. krafft <madduck@debian.org>
# distributed under the terms of the Artistic Licence 2.0
#
# we need /bin/bash for readline and -n capabalities in the prompt(s)
#

# maximise information output even in the case of errors
set +eu

if ! command -v yesno >/dev/null; then
  if [ -r /usr/share/reportbug/handle_bugscript ]; then
    exec /usr/share/reportbug/handle_bugscript ". $0" /dev/stdout
  fi
  yesno() {
    read -n1 -p"$1" REPLY
    case "$REPLY" in
      [yY]) REPLY=yep;;
      [nN]) REPLY=nop;;
      ('') REPLY="$2";;
    esac
  }
  exec 3>&1
fi

# do not let people ctrl-c out of the bugscript
trap : INT

if [ $(id -u) != 0 ]; then
  if [ -x "$(command -v sudo)" ]; then
    yesno "Gather system information as root using sudo? (Y/n) " yep
    if [ "$REPLY" = yep ]; then
      echo running sudo "$0" "$@"...
      sudo "$0" "$@" >&3 && exit 0
      echo "sudo invocation failed, trying /bin/su..."
    fi
  fi

  yesno "Gather system information as root using su? (Y/n) " yep
  if [ "$REPLY" = yep ]; then
    ARGS=
    for i in "$@"; do ARGS="${ARGS:+$ARGS }'$1'"; shift; done
    echo "running su root -s '/bin/sh -c $0${ARGS:+ $ARGS}'..."
    su root -s /bin/sh -c "$0 $ARGS" >&3 && exit 0
    unset ARGS
    echo "su invocation failed."
  fi

  # arrive here only if neither sudo nor su worked:
  yesno "Will you provide system information in the bug report yourself? (N/y) " nop
  if [ "$REPLY" = yep ]; then
    cat <<_eof >&3

IMPORTANT:
  please do not forget to include all relevant system information with this
  bug report. You could run
    /usr/share/bug/mdadm/script 3>&1
  as root and attach or include the output.

_eof
    exit 0
  fi

  # try our best
  cat <<_eof >&3

WARNING:
  the following output was not generated by the root user. If you can, please
  replace the following up until "-- System Information:" with the output of
    /usr/share/bug/mdadm/script 3>&1
  run as root. Thanks!

_eof
fi

if [ ! -r /proc/mdstat ]; then
  echo "The local system does not have MD (RAID) support: no drivers loaded."
  echo "Without MD support, I cannot collect as much information as I'd like."

  #yesno "Are you sure you want to report a bug at this time? " yep
  yesno "Hit any key to continue..." yep
  #[ "$REPLY" = yep ] || exit 1
fi

echo "--- mdadm.conf" >&3
if [ -r /etc/mdadm/mdadm.conf ]; then
  grep '^[^#]' /etc/mdadm/mdadm.conf >&3
elif [ -r /etc/mdadm.conf ]; then
  grep '^[^#]' /etc/mdadm.conf >&3
else
  echo no mdadm.conf file. >&3
fi
echo >&3

echo "--- /etc/default/mdadm" >&3
if [ -r /etc/default/mdadm ]; then
  grep '^[^#]' /etc/default/mdadm >&3
else
  echo no /etc/default/mdadm file. >&3
fi
echo >&3

echo "--- /proc/mdstat:" >&3
cat /proc/mdstat >&3 2>&3 || :
echo >&3

echo "--- /proc/partitions:" >&3
cat /proc/partitions >&3 2>&3 || :
echo >&3

echo "--- LVM physical volumes:" >&3
if [ -x "$(command -v pvs)" ]; then
  pvs >&3
else
  echo "LVM does not seem to be used." >&3
fi

echo "--- mount output" >&3
mount >&3
echo >&3

echo "--- initrd.img-$(uname -r):" >&3
if [ -r /boot/initrd.img-$(uname -r) ]; then
  TEMPDIR=$(mktemp -d)
  OLDPWD="$PWD"
  cd "$TEMPDIR"
  zcat /boot/initrd.img-$(uname -r) 2>&3 | cpio -i 2>&3
  find -regex '.*/md[a/].+' -type f -exec md5sum {} \; >&3

  echo >&3
  echo "--- initrd's /conf/conf.d/md:" >&3
  if [ -r conf/conf.d/md ]; then
    cat conf/conf.d/md >&3
  else
    echo "no conf/md file." >&3
  fi

  cd "$OLDPWD"
  rm -rf "$TEMPDIR"
  unset TEMPDIR
else
  echo "no initrd.img-$(uname -r) found." >&3
fi
echo >&3

if [ -r /proc/modules ]; then
  echo "--- /proc/modules:" >&3
  egrep '(dm_|raid|linear|multipath|faulty)' < /proc/modules >&3 || :
  echo >&3
fi

if [ -f /var/log/syslog ]; then
  if [ -r /var/log/syslog ]; then
    echo "--- /var/log/syslog:" >&3
    egrep "^\w{3} [ :[:digit:]]{11} ($(hostname)|localhost) (kernel: md|mdadm): " /var/log/syslog >&3 || :
    echo >&3
  else
    echo "syslog not readable by user." >&3
  fi
fi

echo "--- volume detail:" >&3
for dev in /dev/[hsv]d[a-z]*; do
  [ ! -r $dev ] && echo "$dev not readable by user." && continue
  mdadm -E $dev 2>/dev/null && echo -- || echo "$dev is not recognised by mdadm."
done >&3
echo >&3

if [ -r /proc/cmdline ]; then
  echo "--- /proc/cmdline" >&3
  cat /proc/cmdline >&3
  echo >&3
fi

if [ -f /boot/grub/grub.cfg ]; then
  echo "--- grub2:" >&3
  if [ -r /boot/grub/grub.cfg ]; then
    egrep '^[^#].*\<(root=|raid)' /boot/grub/grub.cfg >&3 || :
  else
    echo grub.cfg file not readable. >&3
  fi
  echo >&3
fi

if [ -f /boot/grub/menu.lst ]; then
  echo "--- grub legacy:" >&3
  if [ -r /boot/grub/menu.lst ]; then
    grep '^[^#].*\<root=' /boot/grub/menu.lst >&3 || :
  else
    echo menu.lst file not readable. >&3
  fi
  echo >&3
fi

if [ -f /etc/lilo.conf ]; then
  echo "--- lilo:" >&3
  if [ -r /etc/lilo.conf ]; then
    egrep '^([^#].*)?root=' /etc/lilo.conf >&3 || :
  else
    echo lilo.conf file not readable. >&3
  fi
  echo >&3
fi

echo "--- udev:" >&3
COLUMNS=70 dpkg -l udev | grep '\<udev\>' >&3
md5sum /etc/udev/rules.d/*md* /lib/udev/rules.d/*md* >&3 2>/dev/null
echo >&3

echo "--- /dev:" >&3
ls -l /dev/md* /dev/disk/by-* >&3
echo >&3

echo "Auto-generated on $(date -R) by mdadm bugscript" >&3
Hacker Blog, Shell İndir, Sql İnjection, XSS Attacks, LFI Attacks, Social Hacking, Exploit Bot, Proxy Tools, Web Shell, PHP Shell, Alfa Shell İndir, Hacking Training Set, DDoS Script, Denial Of Service, Botnet, RFI Attacks, Encryption
Telegram @BIBIL_0DAY