Script reset_iface (detecta y reinicia el driver de una interfce de red)

Autor: geminis_demon Buenas. Pues eso, este script detecta el driver de la interface que se le pase como parámetro, y lo reinicia (lo desmonta y lo vuelve a montar). Esto es útil a la ora de realizar una auditoría, ya que al desmontar y volver a montar el driver te aseguras de que la interface está «limpia», no está siendo usada por ningún proceso y no está fijada a ningún canal. La idea de hacer el script me vino al leer un comentario de Alister que decía que el hacía eso siempre antes de comenzar una auditoría, y me pareció buena idea  hacer un script que automatice el proceso
Code:
#!/bin/bash
# Script: reset_iface # Por geminis_demon para Wifislax-# SeguridadWireless.Net
if [ $(id -u) != 0 ]; then echo “ERROR: Este script debe ejecutarse con permisos de ROOT” exit 1 fi if [ -z «$1» -o «$1» = «-h» ]; then echo echo «Este script desmonta y vuelve a montar el driver de una interface» echo «de red» echo  echo «USO:» echo » $0 interface» echo echo «OPCIONES:» echo » -h  Muestra esta ayuda.» echo  if [ -z «$1» ]; then exit 1 else exit 0 fi fiIFACE=»$1″ if [ ! «$(ip link|grep » $IFACE: «)» ]; then echo echo » – ERROR: No existe la interface \»$IFACE\»» echo exit 1 fi DRIVER=»$(basename «$(ls -l «/sys/class/net/$IFACE/device/driver»)»)» if [ ! «$DRIVER» ]; then  echo echo » – ERROR: No ha sido posible encontrar el driver de $IFACE» echo exit 1 fi echo echo » – La interface $IFACE utiliza el driver $DRIVER» rmmod -f «$DRIVER» && modprobe «$DRIVER» if [ $? = 0 ]; then  echo » – El driver $DRIVER ha sido reiniciado» echo fi