domingo, 25 de mayo de 2014

GRUB Password on Solaris 10



Ejecutamos el grub:

root@Server# /boot/grub/bin/grub
grub> 


Una vez dentro del grub ejecutamos el md5crypt para generar el password en MD5 y tipeamos la contraseña que deseamos poner para el booteo:

grub> md5crypt
    GNU GRUB  version 0.97  (640K lower / 65536K upper memory)
 [ Minimal BASH-like line editing is supported.  For the first word, TAB
   lists possible command completions.  Anywhere else TAB lists the possible
   completions of a device/filename. ]

Password: *************
Encrypted: $2$h1mitk$IvvwH7S1nd3KhyTYCU92/


Salimos del Grub:

grub> quit


Hacemos una copia previo a modificar el menu.lst:

root@Server # cp -pf /boot/grub/menu.lst /boot/grub/menu.lst.bkp
root@Server # vi /boot/grub/menu.lst


Agregar lo siguiente antes de ADDED BY BOOTADM, donde la cadena que está en rojo es la misma que nos devolvió el md5crypt previo que también esta en rojo:

password --md5 $2$h1mitk$IvvwH7S1nd3KhyTYCU92/


Agregar también al final de cada titulo que desea proteger la linea con el texto "lock".

Les muestro en azul lo que modificamos en el siguiente ejemplo:


password --md5 $2$h1mitk$IvvwH7S1nd3KhyTYCU92/ 
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Oracle Solaris 10 1/13 s10x_u11wos_24a X86
lock 
findroot (rootfs0,0,a)
kernel /platform/i86pc/multiboot
module /platform/i86pc/boot_archive
#---------------------END BOOTADM--------------------
#---------- ADDED BY BOOTADM - DO NOT EDIT ----------
title Solaris failsafe
lock
findroot (rootfs0,0,a)
kernel /boot/multiboot -s
module /boot/amd64/x86.miniroot-safe
#---------------------END BOOTADM--------------------

jueves, 22 de mayo de 2014

Monitoreando Procesos Zombies

Verificamos que no hay zombies:

root@server # ps -el |grep 'Z'
 F S    UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN TTY         TIME CMD
root@server #


Armamos un zombie en C:

root@server # vi zombie.c
#include
#include
#include
int main ()
{
  pid_t child_pid;
  child_pid = fork ();
  if (child_pid > 0) {
    sleep (60);
  }
  else {
    exit (0);
  }
  return 0;
}


Lo compilamos:

root@server # /usr/sfw/bin/gcc zombie.c


Lo ejecutamos:

root@server # ./a.out


Verificamos que ahora está el zombie: ()

root@server # ps -el |grep 'Z'
 F S    UID   PID  PPID   C PRI NI     ADDR     SZ    WCHAN TTY         TIME CMD
 0 Z      0 17100 17099   0   0  -        -      0        - ?           0:00
root@server #


Creamos un script para testear zombies con nagios:

root@server # vi check_zombie
#!/bin/bash
CANT_ZOMBIES=`ps -el |grep 'Z'|grep -v PPID|wc -l`
#echo $CANT_ZOMBIES
if [ $CANT_ZOMBIES -eq 0 ]
then
 echo "$CANT_ZOMBIES Zombies"
 exit 0
fi
if [ $CANT_ZOMBIES -eq 1 ]
then
 echo "$CANT_ZOMBIES Zombies"
 exit 1
fi
echo "$CANT_ZOMBIES Zombies"
exit 2


En la config del NRPE agregamos lo siguiente:

root@server # vi /usr/local/nagios/etc/nrpe.cfg
command[check_zombie_procs]=/usr/local/nagios/libexec/check_zombie

Matamos el nrpe:

root@server # ps -efa |grep nrpe
  nagios 18369     1   0 13:02:52 ?           0:00 /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
    root 18543 15868   0 13:06:54 pts/1       0:00 grep nrpe
root@server # kill -9 18369

Volvemos a iniciarlo:

root@server # /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d


martes, 20 de mayo de 2014

Editor HexaDecimal con Vi

Cuando editamos un archivo en vi y queremos verlo en HexaDecimal simplemente editamos el archivo y en la linea de comando del vi colocamos lo siguiente:

%!xxd