lunes, 24 de febrero de 2014 0 comentarios

Ver dispositivos ata relacionados a tu disco duro

[root@servidor ~]# bash script.sh
sda: ata3.00
sdb: ata5.00
sdc: ata6.00
(Device sdd is not an ATA device, but a USB device [e. g. a pen drive])
(Device sde is not an ATA device, but a USB device [e. g. a pen drive])
#!/bin/bash
# note: inspired by Peter
#
# *UPDATE 1* now we're no longer parsing ls output
# *UPDATE 2* now we're using an array instead of the <<< operator, which on its
# part insists on a writable /tmp directory:
# restricted environments with read-only access often won't allow you that

# save original IFS
OLDIFS="$IFS"

for i in /sys/block/sd*; do

 readlink $i |
 sed -e 's^\.\./devices^/sys/devices^' \
     -e 's^/host[0-9]\{1,2\}/target^ ^' \
 -e 's^/[0-9]\{1,2\}\(:[0-9]\)\{3\}/block/^ ^' \
 \
 |
 while IFS=' ' read Path HostFull ID
 do

  # OLD line: left in for reasons of readability
  # IFS=: read HostMain HostMid HostSub <<< "$HostFull"

  # NEW line: will now also work without a hitch on r/o environments
  IFS=: h=($HostFull)
  HostMain=${h[0]}; HostMid=${h[1]}; HostSub=${h[2]}

  if echo $Path | grep -q '/usb[0-9]*/'; then
    echo "(Device $ID is not an ATA device, but a USB device [e. g. a pen drive])"
  else
    echo $ID: ata$(< "$Path/host$HostMain/scsi_host/host$HostMain/unique_id").$HostMid$HostSub
  fi

 done

done

# restore original IFS
IFS="$OLDIFS"
viernes, 7 de febrero de 2014 0 comentarios

Screen Resumen

Emulador de terminales virtuales
root@localhost# sudo aptitude install screen
Para abrir nuestro programita tan sólo tenemos que escribir su nombre en consola:
root@localhost# screen
Nos mostrará un texto con la licencia. Para continuar tan sólo tenemos que pulsar la tecla “Espacio” o “Enter“.
root@localhost# vim ~/.screenrc
startup_message off
teclado
“C-a c“ (“Ctrl+a” + “c“).
Esto quiere decir que primero se pulsaría “Ctrl+a“, soltamos las teclas y pulsamos ‘c‘.
Scroll de screen / Copiar y pegar
Estamos en una consola de screen. Haced un listado de /etc por ejemplo:
$ ls /etc
(C-a [ o C-a C-Esc). 
Luego podremos desplazarnos con los cursores como si estuviéramos en un editor de texto normal. Si subimos, la pantalla hará scroll junto con el cursor. Cuando acabemos tan sólo tenemos que pulsar
"Esc" o '['
y volveremos al modo normal.
Estando en ese modo cuando pulsamos "Enter" comenzará a seleccionar texto, nos desplazamos y estemos al final de lo que queremos copiar, volvemos a pulsar "Enter".
Finalmente podremos pegar la copia del texto que hemos hecho pulsando la combinación
"C-a ]“.
Resumiendo:
Entrar en modo copia/scroll
C-a [ / C-a C-Esc 
desplazamiento del cursor (si estamos en modo copia/scroll)
cursor
Comenzar selección texto / Finalizar selección texto, copiar y salir modo copia/scroll
Enter
Salir del modo copia/scroll sin copiar nada
ESC / [ 
Pegar el texto copiado
C-a ] 
Multiconsola en screen
Crear otra consola, con la pulsación de “C-a c“, o bien escribiendo “screen” detro de una consola del propio screen. Podemos hacer un listado de las consolas que tenemos abiertas con “C-a w“.
0-$ bash 1$ bash 2*$ bash 3$ bash
Si os dais cuenta hay dos de ellas distintas al resto. Una tiene un ‘*’ y otra un ‘-’ entre el número y el ‘$’. La consola que tiene el ‘*’ es la consola actual, la que estamos viendo. La que tiene el ‘-’ es la que se activó antes que la actual.
Podremos cambiar entre ambas con la combinación
“C-a a”
o navegar con siguiente consola
(C-a n)
y la anterior
(C-a p)
. Para cambiar a una específica podemos hacerlo con “C-a num” donde num es el número de la consola en cuestión que se ha listado anteriormente. Otra forma de hacerlo es con ” C-a ‘ “, que nos preguntará a cual queremos cambiar; introducimos el número y pulsamos “Enter“. Y otra quizá mejor es mediante C-a “, se nos presentará un menú con las consolas abiertas, seleccionamos con las flechas abajo/arriba y confirmamos con “Enter“. Pero no os aclaráis mucho con los nombres, ¿verdad? Bueno, también se le pueden poner nombres a las consolas para que a la hora de verlos con el listado (C-a w) o el menú (C-a “) nos aparezcan los nombres en lugar del intérprete bash. Nos colocamos en la consola a la que queremos bautizar y pulsamos “C-a A”, borramos el nombre “bash“, ponemos el que queramos y confirmamos con “Enter“. Resumimos: C-a c / screen: crea una nueva consola virtual en screen C-a w: lista las consolas abiertas C-a C-a: cambia ente las dos últimas consolas seleccionadas C-a n: cambia a la siguiente consola C-a p: cambia a la consola previa C-a num: cambia a la consola determinada por num C-a ‘: cambia a la consola que le indiquemos posteriomente con el número que la identifica C-a “: menú que nos permite cambiar a la consola que queramos C-a A: nos permite ponerle un nombre a la consola actual . Desligar/ligar sesiones en screen Mandarla a un segundo plano a modo de daemon) pulsar “C-a d“. Veréis este mensaje: [detached] Para recuperar la sesión y volver a ver su contenido escribimos en la consola: “screen -r“. En caso de tener más de una sesión desligada, al intentar recuperar una con “screen -r” nos dirá lo siguiente: There are several suitable screens on: 20535.pts-8.belgarath (Detached) 20169.pts-1.belgarath (Detached) screen -r 20169 Ahora bien, si estamos en la oficina, la casa de un amigo, la universidad o donde sea y queremos ligar una sesión de nuestra casa tendríamos que: Conectar por SSH Desligar la sesión que queramos Ligarla En caso de que sólo tuvíeramos una sesión abierta en casa primero conectaríamos por SSH y después podríamos desligar la sesión de casa y ligarla en el ordenador remoto con un sólo comando: $ screen -dr La ‘d‘ desliga la sesión y la ‘r‘ la liga a la terminal que estamos usando. Si hubiera varias sesiones tendríamos que ver qué sesiones hay y hacer lo mismo que antes pero indicando el número de la sesión deseada: $ screen -dr 20169 El argumento ‘d‘ es normal usarlo remotamente para desligarlo del ordenador donde puede estar previamente ligado. Si estamos en el ordenador local no se usa tanto a no ser que queramos llevar una sesión de un terminal a otro dentro del mismo sistema. Resumimos: C-a d: desliga la sesión actual screen -r: liga la sesión (si es única) a la terminal actual (local o remota). Si hay varias sesiones, mostrará sus identificadores numéricos screen -r número: liga la sesión identificada por “número“. screen -dr: desliga la sesión (si es única) del terminal asociado y la liga al terminal actual (local o remota). Si hay varias sesiones, mostrará sus identificadores numéricos screen -dr número: desliga la sesión especificada por “número” del terminal asociado y la liga al terminal actual Cerrar consola virtual tecleamos “exit“, o bien puedes usar el atajo “C-a k“ Si queremos cerrar todas las consolas virtuales de una sesión y salir de screen, basta con usar el atajo “C-a \” Resumimos: C-a k / exit: cierra la consola actual de screen. Si es la última se sale del programa C-a \: Cierra todas las consolas y se sale de screen $ man screen “C-a ?” y os saldrá un completo listado de todos los shortcuts del programa. fuente: http://tuxpepino.wordpress.com/2007/05/24/%C2%BFconocias-screen/
jueves, 9 de enero de 2014 0 comentarios

Cacti en Apache Centos

Buenos días mis amados lectores, vamos a configurar el cacti con el apache mediante un virtualhost, para ello debes tener instalado dicho paquete, suponiendo que ya ha sido realizado:
root@localhost# vim /etc/httpd/conf.d/virtual.conf
NameVirtualHost *:80


     DocumentRoot /var/www/cacti
     ServerName cacti.XXX.XX
     ErrorLog logs/cacti.XXX.XX_error.log
     CustomLog logs/cacti.XXX.XX_access.log combined
     LogLevel warn

Alias /cacti/ /var/www/cacti/

    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
    order deny,allow
    deny from all
    allow from 127.0.0.1 192.168.1.1
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on


Listo.
miércoles, 20 de noviembre de 2013 0 comentarios

instalar dansguardian, clamadscan, squid3 en ubuntu server 12.04

Buenas noches a todos, ahorita son las 19:19 por estos lares, ha pasado buen tiempo que no desarrollo un articulo sobre Servidores Proxy, por aquí les dejo algo interesante es un pequeño resumen, muchos items posiblemente los exponga mas detalladamente en otros articulos, sin más preambulo vamos a lo que venimos
instalar squid:
root@localhost# apt-get install squid3 
instalar dansguardian:
root@localhost# apt-get install dansguardian 
instalar clamav
root@localhost# apt-get install clamav clamav-daemon 
root@localhsot# usermod -a -G dansguardian clamav
Observaciones:
Cuando configures el dansguardian, debes usar el plugin clamdscan.conf, ya que con el clamav.conf tenía dificultades a la hora de hacer reloads por cambios en el mismo dansguardian.
jueves, 26 de septiembre de 2013 1 comentarios

script_bash_busqueda_eliminación

#!/bin/bash
variable=`ls`
function _declare_borrar_db(){
   *   
   find * -name "*.db" -exec rm -rfv {} \;
}

function _declare_ordenar_url(){
  local dirtemp=$1
  if [ -f $dirtemp/url ]; then
   sort $dirtemp/url | uniq >> $dirtemp/fichero 
   mv -v $dirtemp/fichero $dirtemp/domains
  fi  
}

function _declare_url(){
for i in $variable; do
 local temp="$i"
  _declare_ordenar_url $temp
  if [ -f $i/urls ]; then
    head -n 1 $i/urls > $i/fichero 
    tail -n +2 $i/urls > $i/fichero_temp
    sed -i -r -e "s/^/+/" $i/fichero_temp
     mv -v $i/fichero $i/urls
     if [ -f $i/urls.diff ]; then
      cat $i/fichero_temp >> $i/urls.diff
     else
      cat $i/fichero_temp > $i/urls.diff
    fi  
    rm -rfv $i/fichero_temp
  fi  
done
}
function _declare_borrar(){
 local dirtemp=$1
 rm -rfv $dirtemp 
}
function _declare_ordenar() {
 local dirtemp=$1
 sort $dirtemp/domains | uniq >> $dirtemp/fichero 
 mv -v $dirtemp/fichero $dirtemp/domains
}
function _declare_domain()
{
   for i in $variable; do  
   if [ -d $i  ] && [ $i == porn ] ; then  
      for j in part1 part2 part3 part4 part5; do
        tmp="$i/porn_$j"
        _declare_ordenar $tmp
        head -n 1 $i/porn_$j/domains > $i/porn_$j/domains_temp
        tail -n +2 $i/porn_$j/domains >> $i/domains.diff
        mv -v $i/porn_$j/domains_temp $i/porn_$j/domains
        cat $i/porn_$j/domains>>$i/domains
        _declare_borrar $tmp
      done
   fi
   if [ $i == porn ]; then
     head -n 1 $i/domains > $i/fichero
     tail -n +2 $i/domains > $i/fichero_temp
     sed -i -r -e "s/^/+/" $i/fichero_temp
     sed -i -r -e "s/^/+/" $i/domains.diff
     cat $i/fichero_temp >> $i/domains.diff
     mv -v $i/fichero $i/domains
     rm -rfv $i/fichero_temp
   else
     _declare_ordenar $i
     head -n 1 $i/domains > $i/fichero
     tail -n +2 $i/domains > $i/fichero_temp
     mv -v $i/fichero $i/domains
     sed -i -r -e "s/^/+/" $i/fichero_temp
     if [ -f $i/domains.diff ]; then
        cat $i/fichero_temp >> $i/domains.diff
     else
        mv -v $i/fichero_temp $i/domains.diff
     fi
    fi
   done
   ##sort  fichero | uniq  >> fichero2 
   ##mv -v fichero2 fichero 
   ##sed -i -r -e "s/^/+/" fichero
   ##mv -v fichero domains.diff
}

_declare_domain
_declare_url
_declare_borrar_db
 
;