shell bypass 403

UnknownSec Shell

: /bin/ [ dr-xr-xr-x ]

name : scsi_mandat
#!/bin/bash
# scsi_mandat
#
# Script to test compliance with SCSI mandatory commands.
# The vintage is SPC-3 and SPC-4 (see www.t10.org).
#
# Coverage:
# Command                Standard/Draft (is mandatory in)
# -------------------------------------------------------
# INQUIRY (standard)     SCSI-2, SPC, SPC-2, SPC-3, SPC-4
# INQUIRY (VPD pages 0, 0x83)     SPC-2, SPC-3, SPC-4
# REPORT LUNS            SPC-3, SPC-4
# TEST UNIT READY        SCSI-2, SPC, SPC-2, SPC-3, SPC-4
# REQUEST SENSE          SCSI-2, SBC, SBC-2,3, MMC-4,5, SSC-2,3
# SEND DIAGNOSTIC        SBC, SBC-2,3, SSC-2,3
#
# This script uses utilities frim sg3_utils package (version
# 1.21 or later)
#
# Douglas Gilbert 20131016


log=0
quiet=0
verbose=""

file_err=0
inv_opcode=0
illeg_req=0
not_ready=0
medium=0
other_err=0
recovered=0
sanity=0
syntax=0
timeout=0
unit_attention=0
aborted_command=0

## total_err=0

usage()
{
  echo "Usage: scsi_mandat [-h] [-L] [-q] [-v] <device>"
  echo "  where:  -h, --help        print usage message"
  echo "          -L, --log         append stderr to 'scsi_mandat.err'"
  echo "          -q, --quiet       suppress some output"
  echo "          -v, --verbose     increase verbosity of output"
  echo ""
  echo "Check <device> for mandatory SCSI command support"
}


opt="$1"
while test ! -z "$opt" -a -z "${opt##-*}"; do
  opt=${opt#-}
  case "$opt" in
    h|-help) usage ; exit 0 ;;
    L|-log) let log=$log+1 ;;
    q|-quiet) let quiet=$quiet+1 ;;
    v|-verbose) verbose="-v" ;;
    vv) verbose="-vv" ;;
    vvv) verbose="-vvv" ;;
    *) echo "Unknown option: -$opt " ; exit 1 ;;
  esac
  shift
  opt="$1"
done

if [ $# -lt 1 ]
  then
    usage
    exit 1
fi

for command in "sg_inq" "sg_luns" "sg_turs" "sg_requests" "sg_vpd" \
                "sg_vpd -i" "sg_senddiag -t"
do
  if [ $quiet -eq 0 ]
    then echo "$command" $verbose "$1"
  fi

  if [ $verbose ]
  then
    if [ $log -eq 0 ]
    then
      $command $verbose "$1"
    else
      $command $verbose "$1" >> scsi_mandat.err 2>> scsi_mandat.err
    fi
  else
    if [ $log -eq 0 ]
    then
      $command "$1" > /dev/null 2>> /dev/null
    else
      $command "$1" > /dev/null 2>> scsi_mandat.err
    fi
  fi
  res=$?
  case "$res" in
    0) ;;
    1) echo "  syntax error" ; let syntax=$syntax+1 ;;
    2) echo "  not ready" ; let not_ready=$not_ready+1 ;;
    3) echo "  medium error" ; let medium=$medium+1 ;;
    5) echo "  illegal request, general" ; let illeg_req=$illeg_req+1 ;;
    6) echo "  unit attention" ; let unit_attention=$unit_attention+1 ;;
    9) echo "  illegal request, invalid opcode" ; let inv_opcode=$inv_opcode+1 ;;
    11) echo "  aborted command" ; let aborted_command=$aborted_command+1 ;;
    15) echo "  file error with $1 " ; let file_err=$file_err+1 ;;
    20) echo "  no sense" ; let other_err=$other_err+1 ;;
    21) echo "  recovered error" ; let recovered=$recovered+1 ;;
    33) echo "  timeout" ; let timeout=$timeout+1 ;;
    97) echo "  response fails sanity" ; let sanity=$sanity+1 ;;
    98) echo "  other SCSI error" ; let other_err=$other_err+1 ;;
    99) echo "  other error" ; let other_err=$other_err+1 ;;
    *) echo "  unknown exit status for sg_inq: $res" ; let other_err=$other_err+1 ;;
  esac
done

echo ""
let total_bad_err=$file_err+$inv_opcode+$illeg_req+$medium+$aborted_command
let total_bad_err+=$other_err+$recovered+$sanity+$syntax+$timeout

let total_allow_err=$not_ready+$unit_attention

  echo "total number of bad errors: $total_bad_err "

if [ $total_allow_err -gt 0 ]
  then
  echo "total number of allowable errors: $total_allow_err "
fi

exit $total_bad_err

© 2025 UnknownSec
Solar Energy Design Course From Zero To Hero | Anyleson - Learning Platform
INR (₹)
India Rupee
$
United States Dollar
Solar Energy Design Course From Zero To Hero

Solar Energy Design Course From Zero To Hero

in Science
5.00
(1 Ratings)
Created by Kate Williams

Share

Share course with your friends

Buy with points