Mostrando entradas con la etiqueta Chapucillas. Mostrar todas las entradas
Mostrando entradas con la etiqueta Chapucillas. Mostrar todas las entradas

sábado, 2 de noviembre de 2013

Automatizando shutdown de Host ESXi 5.1

En casa monté un servidor ESXi con un par de máquinas virtuales rodando como centro multimedia y servidor web. El caso es que las utilizo ocasionalmente por lo que no necesito que esten todo el día encendidas. Así que he estado peleandome para hacer más comodo el encendido y apagado tanto de las máquinas como del HOST, Estos son los puntos.

   - Arrancar HOST desde otro PC 
   - Arrancar/apagar máquinas virtuales automáticamente al arrancar/apagar el Host.
   - Apagar el HOST automáticamente.

Arrancar HOST desde otro PC.

Accediendo a la BIOS del HOST activamos la opción WakeOnLan.
Tomamos nota de la dirección MAC en el ESXi.
En otro pc instalamos algún programa de WakeOnLan, yo he utilizado este.
Configuramos los datos del HOST y su dirección MAC en la aplicación.
Con esto ya podemos arrancar el Host desde el otro PC.

Arrancar/apagar máquinas virtuales automáticamente al arrancar/apagar el Host.

En el Cliente vSphere, 
   Seleccionamos el Host.
   Seleccionamos "Configuration".
   Seleccionamos "Virtual Machine Startup/Shutdown".
   Seleccionamos "Properties".
   Marcamos "Allow virtual machines to start and stop automatically with the system".
   Seleccionamos el tiempo de espera entre el arranque/apagado del HOST y el arranque/apagado de las VM.
   Pulsamos "Move Up" hasta que la maquina virtual se coloque en Automatic Startup.
   OK.

Con esto, cuando arranque el Host, pasado el tiempo de espera configurado, arrancaran las Máquinas Virtuales y antes de apagar el Host apagará las máquinas virtuales. 

Apagar el HOST automáticamente.

He encontrado varias páginas sobre el tema, la que más me ha ayudado a sido esta.

La idea es:
   - Detener el servicio crond.
   - Programar el apagado al instante deseado.
   - Relanzar el servicio crond.

El problema esta en que al reiniciar la maquina se resetea el fichero de planificación del crond perdiendo la configuración. Esto lo solucionamos preparando un script que realice automáticamente los tres pasos anteriores en cada arranque del sistema.

Para realizar todas estas configuraciónes accederemos por SSH.

Si no podemos acceder por SSH tendremos que habilitar el acceso desde el ESXi en:
   Pulsamos F2 "Customize System"
   Seleccionamos "Throubleshooting Options"
   Seleccionamos "Enable ESXi Shell"
   "Enable SSH"

Con esto ya tendremos acceso por SSH. 

Vamos a ello:

Primero le damos permisos de escritura al archivo de planificación del crond para poder editarlo.
>> chmod +w /var/spool/cron/crontabs/root

Editamos el fichero /etc/rc.local.d/local.sh que se encargará de ejecutar nuestras ordenes en el arranque.
>> vi  /etc/rc.local.d/local.sh

Añadimos el siguiente contenido:

# Mata el proceso crond
/bin/kill $(cat /var/run/crond.pid)
# Añade la programación , a las 4:00 se ejecutará el poweroff
/bin/echo "0 4 * * * /bin/poweroff" >> /var/spool/cron/crontabs/root
# Relanza el proceso crond con la nueva configuración
/usr/lib/vmware/busybox/bin/busybox crond

Con esto a las 4:00 se lanza el apagado, empezando por apagar las máquinas virtuales y esperando el tiempo que hemos configurado anteriormente antés de proceder con el apagado del HOST.






martes, 2 de abril de 2013

Acceso a Windows 7 sin contraseña

Se trata de una chapucilla para aprovecharse de otra chapucilla de Microsoft ( :P ) con el tema de la accesibilidad de Windows.
En el menú de inicio de sesión podemos ver en la esquina de la pantalla el botón de accesibilidad, esto nos da la opción de lanzar varios programas como la lupa o el narrador, la idea es cambiar estos accesos por un acceso a la consola con lo que podriamos generar otro usuario con los permisos necesarios para acceder al sistema, para ello accederemos con una live (Ubuntu por ejemplo).

Deberiamos localizar el equivalente a la ruta
C:\Windows\System32\Magnify.exe

y renombrarlo por
Magnify.exe.old
mv Magnify.exe Magnify.exe.old
para después hacer una copia del ejecutable de la consola y darle su nombre

C:\Windows\System32\cmd.exe -> Copia -> Magnify.exe

cp cmd.exe Magnify.exe

Con esto ya hemos acabado con la live, arrancamos el sistema con normalidad y al darle en Accesibilidad a la Lupa nos lanzará la consola, con esto ya podemos hacer bastantes cosillas.

Entre ellas crear un nuevo usuario
net user /add usuario
Darle permisos de administrador
net localgroup administradores usuario /add
Y asignarle una contraseña
net user usuario *

con el que ya podremos acceder al sistema.

Otra opción es habilitar el usuario administrador:
net users Administrator /active:yes
Y asignarle una contraseña
net user administrator *


Las pruebas las realice con un Windows 7 virtualizado sobre VMWare ESXi, accediendo directamente a Windows con el usuario administrador (no teniamos live a mano)
y realizando el cambiazo desde el explorador. Al intentar renombrar el Magnify.exe nos devolvió un problema de permisos que no nos permitiá finalizar la operación.

" Se requieren permisos de TrustedInstaller para hacer cambios en este archivo

Para solucionarlo, accedimos a las propiedades del archivo

Fichero
Propiedades
Seguridad
Opciones Avanzadas
Propietario
Vemos que el propieatario actual es TrustedInstaller
Le damos a editar y seleccionamos el grupo Administradores como nuevo propietario
Con lo que ya podremos editar en la pestaña de seguridad los permisos y darle a los administradores control total sobre este archivo.

Via HolaCape en el video del método 2

Para volver a dejarlo todo como estaba:

Eliminamos la copia del cmd renombrada como Magnify.exe
Renombramos Magnify.exe.old a Magnify.exe
en los permisos de este archivo al grupo de administradores les dejamos solo los permisos de Lectura, y Lectura y ejecución.
Y para devolverle el propietario TrustedInstaller deberemos volver a la pestaña propietario de las opciones avanzadas del archivo, y en Otros usuarios o grupos...
Añadir el usuario NT SERVICE\TrustedInstaller.

Más información sobre el TrustedInstaller en Te Ayudo

domingo, 28 de diciembre de 2008

Enviar correos desde el terminal

Veamos como acceder a un servidor de correo via telnet y enviar un correo.
Primero hemos de localizar la maquina que ofrece el servicio.
Conocido el dominio realizamos una consulta a su dns mediante dig
dig dominiomiuniversidad mx
Buscamos en ANSWER SECTION la dirección de la máquina servidor

mx1.cc.dominiomiuniversidad
mx3.cc.dominiomiuniversidad
y si queremos averiguamos su ip para luego acceder a ella...
dig mx1.cc.dominiomiuniversidad

ahora accedemos al puerto 25 del servidor mediante telnet o netcat
nc mx1.cc.dominiomiuniversidad 25
o bien
nc ipdemiuniversidad 25
con esto empezara el dialogo con el servidor.
El servidor nos enviara un mensaje de bienvenida
220 dominiomiuniversidad fecha-hora (aprox.)
Le contestaremos con el comando HELO

HELO dominiodeuniversidad
Nos responde con 250 blablablablablabla

Ahora introducimos el remitente mediante MAIL FROM: remitente@dominio

MAIL FROM: remitente@dominio
Seguramente el servidor solo comprobará que tenga una estructura tipica algo@algo.algo independientemente de que sea correcta o no, y a nuestro nombre o no. Lo que podemos aprovechar para realizarle alguna broma a los colegas ; ).

El server nos devuelve otro 250 blablablablabla

Así que le decimos el receptor, ojo de enviar el correo a una dirección dentro del mismo dominio que el del servidor, no he encontrado ninguno que nos deje enviar a direcciones externas (como medida para evitar spam), de hecho algunos incluso te añaden a listas negras de spammers por intentarlo, (como el del a ucm)

RCPT TO: destinatario@dominiodeuniversidad

Si la dirección es correcta nos devolvera un mensaje 250 con lo que pasaremos a introducir el cuerpo del mensaje de la siguiente forma
DATA

todoloquequeramosdecir

.

Importante el . en una linea nueva para dar el mensaje por acabado.

http://es.wikipedia.org/wiki/SMTP

miércoles, 9 de julio de 2008

Instalación Básica Php, Apache y Mysql

// Instalamos apache, php, mysql, phpmyadmin y librerias varias
~# aptitude install apache2 php5
~# aptitude install libapache2-mod-php5 php5-mysql
~# aptitude install mysql-common mysql-server mysql-client
~# aptitude install phpmyadmin


// Habilitamos directorios de usuario
~# cd /etc/apache2/mods-enabled
~# ln -s /etc/apache2/mods-available/userdir*

// Damos contraseña a root en mysql
~# mysql -u root mysql
mysql> UPDATE user SET Password=PASSWORD ('contraseña') WHERE User='root';
mysql>exit

// Reiniciamos los servicios
~# apache2ctl restart
~# /etc/init.d/mysql restart

// Creamos el directorio public_html (aqui iran nuestros ficheros .html o .php)
~# mkdir /home/nuestrousuario/public_html

// Le cambiamos los permisos
~# chmod -R 755 /home/nuestrousuario/public_html

En el navegador
Esta dirección es la de nuestra página:
http://localhost/~nuestrousuario
Esta dirección es la de phpmyadmin:
http://localhost/phpmyadmin

lunes, 19 de mayo de 2008

Configurando coloretes en el Terminal

Primero que nada decir que utilizo Yakuake que es bastante más útil que el típico xterm, basado en la idea del terminal de Quake que surgía cuando apretabas una tecla y se volvía a ocultar en la parte superior de la pantalla, tenemos el terminal siempre disponible con solo pulsar F12.

Para instalarlo desde Kubuntu bastara con un:
aptitude install yakuake

(si estas en Gnome quizá prefieras Tilda)

Una vez hecho esto haremos que los listados aparezcan de colorines según el tipo de archivo, para ello ls dispone de la opción --color=auto,
Editando el .bashrc (fichero que encontraremos en nuestro home):

alias ls='ls --color=auto'

nos ahorraremos tener que escribir --color=auto cada vez.

También podemos cambiar el color de nuestro prompt tal se explica aquí:
Resumiendo:
- La configuración del prompt se guarda en la variable $PS1.
- Con echo $PS1 vemos como esta actualmente.
- Algunos de los parámetros:
\h el nombre de host a partir del primer '.'
\H el nombre de host
\u el usuario activo
\w la ruta completa del directorio de trabajo actual
\W el directorio de trabajo actual

-Por ejemplo:
PS1="\u@\h:\W\$ " --> user@tty:ruta$

-Para ponerle colores usaremos '\[033[bb;c;ccm\]'
-- 'bb' color de fondo
--'c;cc' color del texto

Al final de toda la línea pondremos '\[\033[0;0m\]', que restaurará los colores originales.

Colores
Negro 0;30 Gris Oscuro 1;30
Azul 0;34 Azul Claro 1;34
Verde 0;32 Verde Claro 1;32
Cyan 0;36 Cyan Claro 1;36
Rojo 0;31 Rojo Claro 1;31
Morado 0;35 Morado Claro 1;35
Marrón 0;33 Amarillo 1;33
Gris Claro 0;37 Blanco 1;37
Así queda el mio:
Como usuario

PS1='\[\033[1;34m\]\u@\h\[\033[0;0m\]:\[\033[0;1;30m\]\W\[\033[1;34m\]\$ \[\033[0;0m\]'

rull@Freya:~$

Como root

PS1='${debian_chroot:+($debian_chroot)}\[\033[01;31m\]\u@\h\[\033[00m\]:\[\033[01;30m\]\w\[\033[01;31m\]\$ \[\033[0;0m\]'

root@Freya:~#


El tema de utilizar colores diferentes es util para que resulte más fácil saber en que sesión estamos en cada momento si nos estamos manejando con múltiples terminales abiertos.

Estas lineas las pondremos en los respectivos .bashrc (/home/tu_usuario/.bashrc para user y /root/.bashrc para root)
El .bashrc de root ya esta editado solo tendremos que encontrar la linea y cambiarle los colores. (Ojo!! que un desliz en este fichero puede acabar en tragedia, es inteligente hacer una copia de seguridad antes de tocar nada mediante cp /root/.bashrc /root/.bashrc.old por si acaso la pifiamos.

jueves, 20 de marzo de 2008

Configurando repetidores wifi con dd-wrt

Esta semana me ha tocado arreglármelas para quitarle un poquete de internet a mi tía, para ello hemos empleado un par de routers Linksys WRT54G/GL/GS previamente flasheados con el firmware dd-wrt mini, para instalarle el firmware ha bastado con descargarlo de la web y (tras comprobar que eran compatibles con la versión de mi router) actualizarlo seleccionando el archivo.bin correspondiente desde la opción Firmware-Upgrade del interfaz web del router (importante hacerlo conectado por cable). Esperamos un ratito, aguantamos el reset apretado durante unos 30 seg. y actualización realizada "succesfully" :P.
Después para que ambos routers trabajaran como uno solo mediante WDS seguí este tutorial, resumiendo hice:

En el principal:


Router IP
Local ip: 192.168.1.1
subnet: 255.255.255.0

DHCP Server Enabled

Advanced Routing
Gateway
Interface: Lan &wireless

Wireless
Wireless mode: AP (en ambos routers)
SSID: MiRed (en ambos routers)

WDS
En cada router selecciona LAN y escribe la MAC del otro.

En el router secundario:


Internet connection type: Disabled

Router IP: 192.168.1.2
Subnet: 255.255.255.0
Gateway: 192.168.1.1

DHCP Type: DHCP Forwarder
DHCP Server: 192.168.1.1

Wireless
Wireless mode: AP (en ambos routers)
SSID: MiRed (en ambos routers)


WDS
En cada router selecciona LAN y escribe la MAC del otro.

Un consejo es preparar primero el principal y luego desconectarlo (para que no se nos presenten dos servidores DHCP a la vez) un momento para preparar el secundario desde el mismo ordenador, (os ahorrareis muchos kilómetros si os esperáis a ponerlo en otra habitación cuando ya este configurado) Una vez configurado sólo queda llevar el secundario a su emplazamiento y comprobar con que calidad llega el enlace WDS, en mi caso con una calidad de 16% me funciona a la perfección, (con un 8 % me daba algunos problemas de perdida de la señal).

martes, 11 de marzo de 2008

Añadiendo Fortunes a mis correos

Esta semana tocaba configurar fortunes para que se incluyeran las citas como firmas en los correos, empece probando para Thunderbird el complemento Signature Switch, que te permite configurar varias firmas diferentes para luego elegir la que más te convenga de forma manual o automática, (en relación a los destinatarios por ejemplo). Solo tenia que configurar un perfil seleccionando uno de los repositorios locales de fortune (que ya vimos que estaban en /usr/share/games/fortunes) como entrada.
Pero no he conseguido que me permitiera poner a parte mi nombre y dirección de correo, así que lo he resuelto con una pequeña chapucilla en forma de script, he añadido al archivo .bashrc que ya vimos las siguientes lineas.


echo 'Raul Nadal Lloréns
rullyeah @ gmail.com

'`fortune` >firma

Esto lo que hace es es escribirnos el nombre y el correo, así como una cita en el fichero firma cada vez que abramos un terminal o sesión (por ejemplo al arrancar el ordenador), fichero que configuraremos como firma de Thunderbird por defecto, no necesitando por tanto el Signature Switch, pero que lo he dejado de todas formas por si alguna cita no me parece apropiada generar otra con 2 clicks.

Quizá no sea la solución más limpia, pero funciona, :P

lunes, 3 de marzo de 2008

Configurando Fortune

Descubrí esta pasada semana fortune, (en honor a los pastelitos de la fortuna que tanto salen en las películas) una pequeña aplicación de consola que te muestra una cita aleatoria de entre las disponibles en una base de datos, Kubuntu lo trae instalado, primero que nada he buscado repositorios de citas en español

apt-get install fortunes-es


También puedes crearte tu propio fichero de citas,

cd /usr/share/games/fortunes
vi myfortunes


Basta con escribir tus propias citas separadas por un %

cita
%
cita
%
cita
larga
%

cita
%

Luego ejecutar:

strfile -r nombredelfichero

y por último llamando:

fortune myfortunes

nos aparecerá una de nuestras citas
fortune -e tomará una cita de cada fichero con equiprobabilidad.
Podemos ver la distribución de probabilidades de los ficheros con
fortune -f .
Y ahora viene cuando vemos como hacer de esto algo util.

Vamos a configurarlo para que se ejecute con cada nuevo terminal.
En slackware podemos crear el fichero .profile en nuestro home con los comandos que queramos que se ejecuten al abrir el terminal.
En Ubuntu por algún tema de sesiones de la consola, si queremos que nos salga con cada nueva consola el archivo a editar sera .bashrc.
En mi caso el contenido de este fichero es el siguiente


echo Yeah!! `whoami`
echo estem a `date +%d/%m/%Y`
echo

fortune -e

echo

Con lo que con cada nueva consola me aparece:

Yeah!! rull
estem a 03/03/2008

Mira detras de ti!! Un mono de tres cabezas!! -- Guybrush Threepwood

rull@Freya:~$

Lo encontre funcionando en algunos laboratorios de la UPV, le da un toque resultón cuando 20 personas encienden un ordenador y cada una tiene un mensajito, jejeje :P