Posteado por: haelsite | 12 enero 2012

Boda Javier y Montse 2012

Con motivo de mi gran evento de este año he decidido crear un Excel online en Google Docs y el resultado es espectacular, tengo un control absoluto de toda la Boda, los gastos, que uno va teniendo, la lista de invitados, los regalos, quien viene quien no viene, edad, …. donde se sienta cada uno, así como un mapa de cada mesa que se genera automáticamente, y lo mejor de todo unas estadísticas que se generan automáticamente para controlar que todas la cuentas salen a la perfección y que no se nos escapa nada.

También se puede seguir este evento en facebook en: https://www.facebook.com/events/196348687053213/

Posteado por: haelsite | 13 diciembre 2011

Virtual Box

Autor: Samuel Calleros (http://www.esdebian.org/articulos/24005/instalar-configurar-virtualbox)

Sitio Web: TuxSoluciones.com.mx

Copyright

Usted es libre de copiar, distribuir y comunicar públicamente la obra y hacer obras derivadas bajo las condiciones siguientes: 1) Debes reconocer la autoría de la obra en los términos especificados por el propio autor o licenciante. 2) No puedes utilizar esta obra para fines comerciales. 3) Si alteras, transformas o creas una obra a partir de esta obra, solo podrás distribuir la obra resultante bajo una licencia igual a ésta. Al reutilizar o distribuir la obra, tiene que dejar bien claro los términos de la licencia de esta obra. Alguna de estas condiciones puede no aplicarse si se obtiene el permiso del titular de los derechos de autor. Nada en esta licencia menoscaba o restringe los derechos morales del autor. Puede ver la Licencia Completa.

El autor no se hace responsable si el usuario o lector hace mal uso de esta información.

¿Porque VirtualBox?
VirtualBox es una aplicación que nos permite ejecutar diferentes Sistemas Operativos simultáneamente en el mismo equipo de manera virtual. La razón para usar VirtualBox es porque es libre (GNU/GPL) y porque funciona bien. Vmware no es software libre.

Instalación
Para instalarlo en Debian etch editar el archivo /etc/apt/sources.list y agregar el siguiente repositorio:
##virtualbox
deb http://www.virtualbox.org/debian etch non-free

Para instalarlo en ubuntu editar el archivo /etc/apt/sources.list y agregar una de las siguientes lineas dependiendo de la versión que tenga:

deb http://www.virtualbox.org/debian gutsy non-free
deb http://www.virtualbox.org/debian feisty non-free
deb http://www.virtualbox.org/debian edgy non-free
deb http://www.virtualbox.org/debian dapper non-free

Descargar la clave publica para el apt-secure de http://www.virtualbox.org/debian/innotek.asc y agregarla con el siguiente comando:

$ wget http://www.virtualbox.org/debian/innotek.asc
# apt-key add innotek.asc

Actualizar la lista de paquetes e instalar VirtualBox:
# apt-get update
# aptitude install virtualbox

Esto instalara VirtualBox y sus dependencias.

Tambien puede instalar VirtualBox descargando del sitio http://www.virtualbox.org/wiki/Downloads el archivo correspondiente a la versión "Debian etch" e instalarlo con "dpkg -i virtualbox_x.x.x-xxxxx_Debian_etch_i386.deb"

Para instalar VirtualBox en otras distribuciones descargue del sitio "http://www.virtualbox.org/wiki/Downloads" la versión que corresponda a la de su distribución e instalelo manualmente.
Configuración

Para poder usar VirtualBox hay que darle permisos al usuario de que lo utilice, para ello editamos "/etc/group" y agregamos nuestro usuario al grupo vboxusers, quedando así:
vboxusers:x:xxxx:nuestro_usuario

A veces esto no es suficiente, por lo que al correr VirtualBox puede marcar un error de escritura en "/dev/vboxdrv". Esto se soluciona nombrando como propietario de "/dev/vboxdrv" a nuestro usuario:
# chown nuestro_usuario:nuestro_usuario /dev/vboxdrv

Reiniciamos el servicio:
# /etc/init.d/vboxdrv restart

Agregar maquinas virtuales

Desde consola, iniciamos VirtualBox con el comando VirtualBox y damos clic en el botón Nueva(new) para agregar una nueva maquina virtual:
- Especificamos el nombre de nuestra maquina virtual y el sistema operativo a instalar.
- Posteriormente seleccionamos la cantidad de memoria RAM a asignar.

- Luego le asignamos el disco duro virtual, como no tenemos ninguno creamos uno; damos clic en el botón Nuevo(new), seleccionamos "Imagen de expansión dinámica", luego el tamaño del disco duro virtual.

- Finalizamos el asistente y listo. Ya tenemos la maquina virtual creada

Ahora solo falta instalar el sistema operativo que deseen. Para ello inserte el CD en el CD-ROM, inicie la maquina creada y siga las instrucciones de instalación presentadas.

Compartir carpetas
Para poder compartir archivos entre el Host Virtual (Invitado) y el Anfitrión es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".

Pasos a seguir:
- Instalar "virtual box Guest Additions". Cuando la maquina virtual se este ejecutando, hacer clic en el menú "Dispositivos" y luego en "instalar Guest Additions". Guest Additions es un conjunto de utilidades que mejoran las capacidades del sistema virtualizado, entre ellas el compartir carpetas.

- Apagar la maquina virtual
- Compartir la carpeta en el Host Anfitrión con el comando:
VBoxManage sharedfolder add "Nombre_Maquina_Virtual" -name "nombre_a_mostrar" -hostpath "/ruta/carpeta/compartida"
También se puede compartir desde La configuración de la maquina en La opción "Directorios compartidos"

- Iniciar la maquina virtual.

Para acceder a la carpeta compartida:
- En Windows ejecutar: vboxsvrcarpeta_compartida y luego vaya a "Mi PC" y ahí estará montada el directorio compartido.

También puede mapear la unidad de red con: net use z: vboxsrvNombre_Carpeta_compartida
- En Linux se monta la unidad con:
mount -t vboxsf [-o OPTIONS] Nombre_carpeta_Compartida /ruta/donde/se/desea/montar

Para ver las carpetas que tiene compartidas desde el Host Anfitrión se hace con: VBoxManage list vms o desde las configuraciones de la maquina en la Opción "Directorios compartidos"

Podrá leer y escribir en la carpeta compartida desde la maquina virtual.

Habilitar el Copy-Paste entre el Host Anfitrión y el Invitado

Para poder utilizar esta función es necesario instalar en el Host Invitado la aplicación "virtual box Guest Additions".

En un Host Invitado con Windows cuando la maquina virtual se este ejecutando, haga clic en el menú "Dispositivos" y luego en "instalar Guest Additions".

En un Host Invitado con GNU/Linux se requiere instalar los headers del kernel que se este usando. Para saber el kernel que usamos tecleamos "uname -r". Ejemplo: si tenemos el kernel "2.6.18-5-486" instalamos el paquete "linux-headers-2.6.18-5-486":

# aptitude install linux-headers-2.6.18-5-486
Ahora hacemos clic en el menú "Dispositivos" y luego en "instalar Guest Additions". Esto nos montara un CD-ROM virtual. Nos vamos a /media/cdrom/ e instalamos el paquete VBoxLinuxAdditions.run y luego reiniciamos o apagamos la maquina virtual:
# cd /media/cdrom

# sh VBoxLinuxAdditions.run
# poweroff

Ya que instalamos "virtual box Guest Additions" ahora nos vamos en el administrador de VirtualBox, entramos a la configuración de la maquina virtual, en la opción "General", en la pestaña "Avanzado" en la opción "Portapapeles Compartidos" seleccionamos: "Anfitrión a Huesped", "Huesped a Anfitrión" o "Bidireccional" según lo deseado.

Crear Imágenes de nuestra maquina virtual

Las instantáneas (snapshots) sirven para crear imágenes de la partición del disco duro virtual, la cual puede restaurarse en cualquier momento y regresar la partición y los datos como estaban cuando fue creada la imagen. Para crear una imagen vaya al Menú de la maquina virtual y elija "Maquina" y luego "Tomar instantánea".

Configurar la maquina virtual para que forme parte de la red local.

Para entender mejor como configurar la red es necesario una breve explicación de las posibles configuraciones de la red. Al configurar la red de la maquina virtual se pueden elegir entre las siguientes opciones:

- Not attached (No conectado).- Sirve para desactivar la tarjeta de red virtual, por lo que no tendrá acceso a ninguna red
- NAT .- Sirve básicamente para acceder a Internet, descargar archivos y enviar correos, pero las funciones avanzadas de red no están habilitadas. La maquina virtual obtiene una IP de un router que viene siendo VirtualBox y que funciona como DHCP asignando una IP 10.0.2.0 a la primera interface y 10.0.3.0 a la segunda interface, el trafico de la maquina virtual es transparente.

- Host Interface Networking (Interface Anfitrion) .- Simulación de una red real, el Host puede enviar datos al invitado y viceversa, se puede conectar a la red. Se tiene que crear una interface de red virtual en el Host anfitrión por cada tarjeta (interface) de red que use(n) la(s) maquina(s) virtual(es)
- Internal Networking (Red Interna) .- Similar a "Host Interface Networking", sin embargo el acceso a Internet es limitado, de esta manera se mejora la seguridad y velocidad.

La que nos interesa es "Host Interface Networking (Interface Anfitrion)". Esta configuración sirve para configurar la maquina virtual para forme parte de la red.

Configurar la maquina virtual como Host Interface Networking (Interface Anfitrión)

A grandes rasgos lo que se tiene que hacer para configurar interfaces permanentes en el Host anfitrión con GNU/Linux es:
1.- Crear un puente a la interfaz real. Esto permite compartir la interfaz física entre la interfaz real y la virtual
2.- Por cada tarjeta de red virtual (invitada) usada, debe ser creado un nueva interfaz virtual en el Host padre (llamada tap0 o vbox0 o similar) y agregada esta interfaz al puente.
3.- Finalmente especificar la nueva interfaz en las configuraciones de la tarjeta de red virtual de la maquina virtual.

Ahora presentamos detalladamente los pasos para configurar interfaces permanentes en el Host Anfitrión con Debian y derivadas:

1.- Instalar el paquete "uml-utilities" en el Anfitrión, que contienen herramientas para crear tarjetas de red virtuales y el paquete de utilerías bridge "bridge-utils". Generalmente se instalan con el sistema base.
# apt-get install uml-utilities
# apt-get install bridge-utils

Para que el usuario que ejecutará la maquina virtual tenga acceso a la interfaz, el usuario tendrá que pertenecer al grupo "uml-net" por lo que hay que agregarlo:
# gpasswd -a usuario uml-net

Esto modificara el archivo "/etc/group/" quedando la linea del grupo uml-net así:

uml-net:x:NNN:usuario

2.- Editar el archivo "/etc/network/interfaces" para declarar la interfaz de red virtual a utilizar por el Host Invitado espeficando la interfaz a utilizar (tap0) y usuario que la usara, para ello agregamos las siguientes lineas:

auto tap0
iface tap0 inet manual

up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario

Modifique usuario por el usuario que ejecutará la maquina virtual.

Es importante que nuestra interfaz real (ejemplo eth0) este comentada o que no tenga asignada una IP del mismo rango, de lo contrario el Host Anfitrión no saldrá a Internet.

3.- La primera vez que se use, se debe activar el el bridge y la interfaz creada con los siguientes comandos:
# /sbin/ifup tap0
# /sbin/ifup br0

Esto solo es necesario la primera vez, las siguientes veces se activaran automáticamente.

4.- En el archivo "/etc/network/interfaces" hay que declarar el bridge (llamado br0) y agregar la interfaz creada al mismo:

auto br0
iface br0 inet dhcp
bridge_ports all tap0

También, se puede asignar una IP estática dependiendo de las necesidades.

Si hemos seguido correctamente los pasos del 2 al 4, en "/etc/network/interfaces" y deseamos unir a la red dos maquinas virtuales deberíamos tener el siguiente contenido:

auto lo

iface lo inet loopback

#iface eth0 inet dhcp
#auto eth0

auto tap0
iface tap0 inet manual

up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario

auto tap1

iface tap1 inet manual
up ifconfig $IFACE 0.0.0.0 up
down ifconfig $IFACE down
tunctl_user usuario

auto br0
iface br0 inet dhcp
bridge_ports all tap0 tap1

NOTA: las interfaces virtuales declaradas y que formen parte de un bridge no deben tener ninguna dirección IP asignada, por ello se pone "0.0.0.0" en vez de una IP real.

5.- Reiniciamos el servicio networking:
# /etc/init.d/networking restart

6.- Modifique la configuración de la maquina virtual. Esto se hace desde la aplicación VirtualBox, en "Configuraciones", "Red", “Attached to”, modificando un adaptador de red y especificando "Host Interface Networking"/"Interface Anfitrion" y en el campo “Interface name" tecleamos "tap0" o "tap1" dependiendo del nombre de interfaz virtual configurada en "/etc/network/interfaces".

7.- Finalmente vaya al Host Virtual (Invitado) y configure los paramentros de red apropiadamente.

Clonar una maquina virtual.

- Nos ubicamos donde estan guardados los vdi (/home/usuario/.VirtualBox/VDI) y clonamos el vdi con un UUID diferente:
$ cd /home/usuario/.VirtualBox/VDI
$ VBoxManage clonevdi NombreOriginal.vdi NuevoNombre.vdi

- Desde el administrador de VirtualBox creamos una nueva maquina; elegimos el mismo sistema operativo y otro nombre para la nueva maquina, asignamos memoria. En disco duro elegimos existente y elegimos el creado en el paso anterior (NuevoNombre.vdi) y listo ya tenemos una nueva maquina virtual identica.

Biografía
http://virtualbox.org
http://virtualbox.org/download/UserManual.pdf

Última Edición Wednesday, November 07 2007 @ 01:15 AM MST; 28 Hits

Pierre Dac, humorista francés, enunció una de las reglas de oro de ésta vida: “Todo cuerpo sumergido en un flujo de excrementos gira de forma que le ofrece su superficie máxima”. La ley de Murphy lo enuncia de otra manera menos satírica pero igual de cínica: ” Si algo puede salir mal, saldrá mal “. Existe también el corolario de O’Hara a la ley de Murphy que reza: “Murphy era un optimista”.

Usted, Sr. Director, se preguntará a que viene todo esto. Y yo, para no tener que cansar ni a sus neuronas (que Dios las guarde muchos años) ni su paciencia, se lo digo: El dichoso reactor del Tireless lo van a poner en funcionamiento en la misma bahía de Algeciras. Según dice nuestro excelso ministro, es lo más seguro y no hay ningún peligro. Ya lo he advertido más de una vez: Si un político dice que todo está bajo control, empiece usted a temblar.

Está clarísimo que si existen los marcianos, o un meteorito amenaza con caer sobre la tierra, o peligramos de morir bajo una lluvia de mierda de vacas, los contribuyentes no nos vamos a enterar hasta que estemos con la caca hasta el cuello. Por supuesto, con el submarino pasa exactamente lo mismo. Si existen situaciones peligrosas en la reparación y puesta en funcionamiento del Tireless, sólo nos enteraremos si al final explota. De los riesgos intermedios, ni mú. De cara a la galería, todo habrá salido perfectamente y según lo planificado.

Por eso digo que el ministro, los ministros, militares implicados, científicos auditores y demás ejecutiva deberían estar allí el día de la puesta en funcionamiento del dichoso reactor. Eso sí que sería dar ejemplo.( Y ojalá no caiga la breva, principalmente por el resto de los mortales).

Gracias, no me acordaba donde había leído mi maravillosa filosofía de vida.

Posteado por: haelsite | 1 diciembre 2011

Certificados digitales, firma digital, cifrado y DNI electrónico

Buenas, os dejo un curso sobre certificados digitales que he realizado en Seidor, por ahora está por terminar, pero el viernes estará subido por completo.

Acceder al curso

Salu2.

Posteado por: haelsite | 12 noviembre 2011

Ubuntu + Apache2 + ssl

ref: http://tecnoloxiaxa.blogspot.com/2008/11/servidor-web-apache-instalar-y.html

ref: http://www.ianmiller.net/article.php?id=13

Ha pasado ya mucho tiempo desde que no escribo en mi blog y quisiera hacerlo con un clásico, Apache2, pero esta vez con ssl que es más interesante. He seguido links de arriba y lo he configurado correctamente a excepción de 2 errores que tuve que solucionar en la marcha.

Instalamos el servidor de apache2

$ apt-get install apache2

Al instalarse apache2, se intenta levantar el servicio pero nos muestra este error:

Configurando apache2-mpm-worker (2.2.20-1ubuntu1.1) …
Starting web server apache2
apache2: Could not reliably determine the server’s fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]

Para solucionarlo editamos el fichero de configuración y añadirmos el ServerName

$ sudo gedit /etc/apache2/httpd.conf
ServerName www.haelsite.es
$ sudo /etc/init.d/apache2 restart

Modificamos el fichero httpd.conf de la configuración para añadir nuestro servidor

$ sudo gedit /etc/apache2/httpd.conf
ServerName www.haelsite.com

Una vez hecho esto, ya podemos levantar apache2 otra vez:

$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2 … waiting . [ OK ]

Pero para que en el navegador reconozca nuestras url debemos añadir esto en el /etc/hosts y añadir mi ip

127.0.0.1 www.haelsite.es
127.0.0.1 haelsite.es
127.0.0.1 localhost

En /var/www estará alojada nuestra web: index.html

Para arrancar apache2 en el inicio del pc para siempre:

$ update-rc.d apache2 defaults

Una vez que hemos hechos esto en el navegador ya podemos escribir:

http://www.haelsite.es/

Nos debe aparecer un mensaje como este:

It works!
This is the default web page for this server.
The web server software is running but no content has been added, yet.

Si nos muestra este error al editar el httpd.conf debemos ejecurlo NO COMO ROOT:

$ gedit /etc/apache2/httpd.conf

(gedit:8781): EggSMClient-WARNING **: Failed to connect to the session manager: None of the authentication protocols specified are supported
$ exit
$ sudo gedit /etc/apache2/httpd.conf

Ahora vamos a crear una página https://segura.haelsite.es con un certificado ssl. Si no encontramos la herramienta apache2-ssl-certificate lo haremos a mano:

Si aparece un mensaje avisándonos de que ha sido imposible encontrar el comando, es debido a un fallo en el instalador de apache que podemos solventar, o bien actualizando apache a una versión más actual que resuelva el fallo(este fallo lo da en instalaciones de 32bits y no en las de 64 debido a que está incluido en el apache2-common de amd64) o bien creándolo a mano con las siguientes instrucciones:

$ mkdir /etc/apache2/ssl
$ /usr/sbin/make-ssl-cert /usr/share/ssl-cert/ssleay.cnf (continúa) /etc/apache2/ssl/apache.pem

Hay que ir respondiendo a las sencillas preguntas que nos van apareciendo. (en nuestro caso el servidor se llama segura.haelsite.es.

Tan solo tendremos que responder a algunas preguntas sencillas sobre nuestra ubicación geográfica y el nombre de nuestra organización.

Después de la ejecución de comando apache2-ssl-certificate, se habrá generado el archivo /etc/apache2/ssl/apache.pem que contiene la claves que permitirán al servidor utilizar cifrado asimétrico. El siguiente paso será configurar un servidor virtual para que utilice dicho certificado.

Creamos en /var/www una carpeta que será la que se cargue cuando se entra en https://segura.haelsite.es

Primero añadimos en /etc/hosts la nueva ruta:

127.0.0.1 segura.haelsite.es

Tenemos que habilitar el puerto 443, editamos el fichero /etc/apache2/ports.conf

// Habilitar puerto 443. Añadir en /etc/apache2/ports.conf
Listen 443

En mi caso, al añadir esta línea mi fichero queda así pero vemos que ya está el puerto 443 habilitado cuando está presente el módulo SSL.

$ cat /etc/apache2/ports.conf
# If you just change the port or add more ports here, you will likely also
# have to change the VirtualHost statement in
# /etc/apache2/sites-enabled/000-default
# This is also true if you have upgraded from before 2.2.9-3 (i.e. from
# Debian etch). See /usr/share/doc/apache2.2-common/NEWS.Debian.gz and
# README.Debian.gz
NameVirtualHost *:80
Listen 80
#Listen 443 <—- AL FINAL HE COMENTADO ESTA LÍNEA
<IfModule mod_ssl.c>

# If you add NameVirtualHost *:443 here, you will also have to change
# the VirtualHost statement in /etc/apache2/sites-available/default-ssl
# to <VirtualHost *:443>
# Server Name Indication for SSL named virtual hosts is currently not
# supported by MSIE on Windows XP.
Listen 443 <—- SI ESTÁ ACTIVO SSL SE ESCUCHA POR EL 443

</IfModule>
<IfModule mod_gnutls.c>

Listen 443

</IfModule>

Ahora modificamos el fichero /etc/apache2/sites-available/default:
$ cat /etc/apache2/sites-enabled/000-default

# Añadir al principio en /etc/apache2/sites-available/default
NameVirtualHost segura.haelsite.es:443

# Añadir al final en /etc/apache2/sites-available/default
<VirtualHost segura.haelsite.es:443>

ServerName segura.haelsite.es
DocumentRoot /var/www/segura
SSLEngine On
SSLCertificateFile /etc/apache2/ssl/apache.pem
ErrorLog /var/log/apache2/error.log
CustomLog /var/log/apache2/access.log combined

</VirtualHost>
<Directory "/var/www/segura">

Options Indexes FollowSymlinks MultiViews
AllowOverride None
Order allow,deny
Allow from all
SSLRequireSSL

</Directory>

Cargamos el moulo ssl de apache:
$ sudo a2enmod ssl

Debemos crear la página segura:
$ cd /var/www

$ mkdir segura
$ cp /var/www/index.html /var/www/segura/index.html

Para asegurarnos de que funciona podemos reiniciar el servidor:
# sudo /etc/init.d/apache2 restart

Al acceder a la web https://segura.haelsite.es debemos aceptar el certificado. Debemos aceptarlo ya que lo hemos generado nosotros y a pesar de no estar creado por una Autoridad Certificadora es de confianza ya que es nuestro.

Posteado por: haelsite | 2 octubre 2011

NO MAS NUMEROS 900

Si se os ocurre alguno ya sabéis….

ADSL TELEFONICA (902 357 000) 91 707 74 60

MERCADONA: (902.350.200) 963. 883328

EL CORTE INGLÉS: (901.122.122) 91..7243699

RENAULT: (902.350.200) 93.4883727

ING: (901.105.115) 91.6349222

LA CAIXA : (902.334.334) 93.4953998

UNICAJA: (902.246.246) 952.076263

BANCO SANTANDER: (902.242.424) 91.7098520

CAJA MADRID: (902.102.010) 91.3349300

LÍNEA DIRECTA 902.321.321) 91.8072000
MAPFRE: (902.136.524) 91.5816300
ZURICH: (902.330.533) 93.2671020

TELE 2: (902.998.877) 800.760770

MOTOROLA: (902.202.302) 91.4138993

1.- Deben hacerte una exposición de hechos

2.- Lectura de derechos.

3.- Aviso a la autoridad judicial
4.- Aviso a letrado

5.- Aviso a familiar detenido
6.- Llegada letrado

7.- Segunda lectura de derechos en presencia del letrado
8.- Si quieres manifestar, toma de declaración en presencia del letrado

9.- Te sacan los antecedentes policiales
10 .- Reseña de pertenencias deldetenido

Posteado por: haelsite | 28 septiembre 2011

Cifrado y Descifrado con openssl

Fuente: http://infow.wordpress.com/2009/01/11/openssl-la-navaja-suiza-del-cifrado/

OpenSSL – La navaja suiza del cifrado

11 enero, 2009 at 7:27 pm (seguridad, técnicos)

Hoy vamos a hacer una chuleta de como cifrar nuestros documentos y demás utilizando algo que todos aquellos que trabajamos con linux tenemos muy a mano, OpenSSL.

Casi todos lo usuarios de linux, sobre todo aquellos que lo llevéis en un portátil y uséis la conexión wifi, tendréis instalado OpenSLL, pero por lo menos en mi caso,suelo dejar que el sistema lo utilice automáticamente para las conexiones a redes inalámbricas y yo, no lo utilizaba para nada. Pero como la curiosidad a veces nos juega malas pasadas, el otro día me decidí a investigar si servía para algo más y se podía utilizar de forma manual, y vaya si se puede. Se pueden hacer un montón de cosas con él, eso si, todas ellas relacionadas con el cifrado y descifrado. Así que el siguiente artículo es una especie de recetario y de apuntes de como utilizarlo para no tener que llevarlo todo en la cabeza, que no se la vuestra, pero la mía se despista con facilidad. Por supuesto, todo lo que se va a comentar a continuación se va a hacer desde la consola.

Antes de empezar una recomendación, mirad bien lo que escribís porque ,al menos a mi, no me van los cursores para desplazarme sobre lo escrito. así que si tengo que rectificar algo me toca borrar y reescribir.

Acceder a openssl: Tecleamos en la consola

~# openssl

Nos saldrá un promt con el siguiente formato.

OpenSSL>

Salir de openssl:

OpenSSL> quit

OpenSSL> q

OpenSSL> exit

Ayuda:

OpenSSL> ?

Nos mostrará una lista de los comandos disponibles.

– Cifrado simétrico –

Encriptar

DES:

OpenSSL> enc -des -in entrada.txt -pass pass:contraseña -out salidaDes.txt

AES:

OpenSSL> enc -aes128 -in entrada.txt -pass pass:contraseña -out salidaAes.txt

Desencriptar

DES:

OpenSSL> enc -d -des -in salidaDes.txt -pass pass:contraseña -out salidaDes2.txt

AES:

OpenSSL> enc -d -aes128 -in salidaAes.txt -pass pass:contraseña -out salidaAes2.txt

– Cifrado asimétrico –

Generar llave del algoritmo asimétrico RSA: Vamos a generar una llave privada de 1020 bits

OpenSSL> genrsa -out privada1.key 1024

Cifrar la clave privada con DES para evitar su uso fraudulento:

OpenSSL> genrsa -out privada2.key -passout pass:contraseña -des 1024

Se realiza este cifrado porque la clave privada se genera como un fichero de texto que cualquiera podría leer, para evitar esto la ciframos.

Generar claves públicas derivadas:

OpenSSL> rsa in privada1.key -pubout -out publica1.key

OpenSSL> rsa in privada2.key -pubout -out publica2.key -passin pass:contraseña

Encriptar

OpenSSL> rsautl -pubin -encrypt -in entrada.txt -out salidaRsa.txt -inkey publica1.key

Desencriptar:

OpenSSL> rsautl -decrypt -in salidaRsa.txt -out salidaRsa2.txt -inkey privada1.key

– Funciones hash –

Generar:

OpenSSL> dgst -md5 -out entrada.hsh entrada.txt

– Firma digital –

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out privada.key 1024

OpenSSL> rsa in privada.key -pubout -out publica.key

Firmar el archivo digitalmente:

OpenSSL> dgst -c -sign privada.key -out firmado.sig entrada.txt

El archivo “firmado.sig” contendrá la firma digital en formato binario.

Verificar firma:

OpenSSL> dgst -c -verify publica.key -signature firmado.sig entrada.txt

OpenSSl mostrará un “Verified OK” si todo ha sido correcto, o un “Verification Failure” si algo ha fallado.

Conversión de firmas binarias a texto: Como ya he dicho antes las firmas generadas tienen un formato binario, con lo cual para su envió por correo, por ejemplo, es interesantes pasarlas a texto. Así que vamos a generar una versión en base64.

OpenSSL> base64 -in firmado.sig -out firmado.b64

Como puedes observar, el fichero generado es legible y fácilmente agregable a cualquier texto.

Conversión de firmas en texto a binarias: Para verificar las firmas que nos han llegado en modo texto tendremos que pasarlas a modo binario antes.

OpenSSL> base64 -d -in firmado.b64 -out firmado1.sig

– Certificados digitales –

Crear certificado y archivo de configuración de la autoridad certificadora (“CA”):

Generar un par de claves RSA como hemos visto anteriormente:

OpenSSL> genrsa -out CAprivada.key 1024

OpenSSL> rsa in CAprivada.key -pubout -out CApublica.key

Crear el archivo de configuración:

Crear el archivo “CAconfig.conf” con el siguiente contenido:

[ req ]
default_bits = 1024
default_keyfile = CAprivada.key
distinguished_name = req_distinguished_name
attributes = req_attributes
x509_extensions = v3_ca

dirstring_type = nobmp
[ req_distinguished_name ]
countryName = Identificador del País (2 letras)
countryName_default = MX
countryName_min = 2
countryName_max = 2

localityName = Localidad (ej., ciudad)
organizationalUnitName = Nombre de unidad organizacional (ej., oficina)
commonName = Nombre común (ej., TU nombre)
commonName_max = 64

emailAddress = Dirección de correo electrónico
emailAddress_max = 40
[ req_attributes ]
challengePassword = Contraseña para “challenge”
challengePassword_min = 4
challengePassword_max = 20

[ v3_ca ]
subjectKeyIdentifier = hash
authorityKeyIdentifier = keyid:always,issuer:always
basicConstraints = CA:true

Crear el certificado de la autoridad:

OpenSSL> req -new -key CApriv.key -out ca.cer -config CAconfig.cnf -x509 -days 3650

Generar claves para un usuario:

OpenSSL> genrsa -out privadaUser.key 1024

OpenSSL> rsa in privadaUser.key -pubout -out publicaUser.key

Generar un requerimiento del certificado para este usuario:

OpenSSL> req -new -key privadaUser.key –out req.pem -config CAconfig.cnf

Firmar el requerimiento y generar el certificado del usuario:

OpenSSL> x509 -inform PEM -outform PEM -keyform PEM -CAform PEM -CAkeyform PEM –in req.pem -out certUser.cer -days 365 -req -CA ca.cer -CAkey CAprivado.key -sha1 –CAcreateserial -text

Bueno, hasta aquí la chuleta de hoy. También debéis saber que OpenSSL permite la creación de de certificados digitales para sitios web, pero como esto da por si solo para un post completo, lo dejaremos para otro día si a alguien le interesa.

Espero que la chuleta os sirva de ayuda. Si alguien tiene alguna duda o algo que aportar, como siempre os animo a dejarlos en los comentarios. Nos vemos.

Posteado por: haelsite | 28 septiembre 2011

Curso basurilla de Red Hat 5.4

Doc 1: rhel5-guide-i731

Doc 2:Configuracion_Servidores_Linux-20110928-SEPTIEMBRE-02


Curso Red Hat Linux 5

Tutor: FRT
Documentacion: docs.redhat.com
Fecha: Sep 2011

Tema 0. Introducción
********************

En el fichero /root/anaconda-ks.cfg se guarda la configuaricón de la instalación.

kickstart: instalación personalizada, guarda la configuración en el fichero anaconda-ks.cfg
dhclient: recarga la configuración del dhcp

Tema 1. Máquinas Virtuales
**************************

————- CREAR MAQUINA VIRTUAL ————

vcreate -L 5G -n lv.prueba vol0

[root@station9 ~]# lvs
LV VG Attr LSize Origin Snap% Move Log Copy%
home vol0 -wi-ao 512.00M
lv.prueba vol0 -wi-a- 5.00G
lv.vcracker vol0 -wi-a- 2.00G
lv.vserver vol0 -wi-a- 2.00G
root vol0 -wi-ao 8.00G
[root@station9 ~]#

virt-install –accelerate –os-type linux –os-variant rhel5.4 -n prueba -r 256 -f /dev/vol0/lv.prueba -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Para borrar un volumen:

[root@station9 prueba]# lvremove -f /dev/vol0/lv.prueba
Logical volume “lv.prueba” successfully removed

Si en vez de utilizar el fs para máquina virtual lo quiero para fs:

[root@station9 prueba]# fsck.ext3 /dev/vol0/lv.prueba
e2fsck 1.39 (29-May-2006)
Couldn’t find ext2 superblock, trying backup blocks…
fsck.ext3: Bad magic number in super-block while trying to open /dev/vol0/lv.prueba

The superblock could not be read or does not describe a correct ext2
filesystem. If the device is valid and it really contains an ext2
filesystem (and not swap or ufs or something else), then the superblock
is corrupt, and you might try running e2fsck with an alternate superblock:
e2fsck -b 8193

[root@station9 prueba]# mkfs.ext3 /dev/vol0/lv.prueba
mke2fs 1.39 (29-May-2006)
Filesystem label=
OS type: Linux
Block size=4096 (log=2)
Fragment size=4096 (log=2)
655360 inodes, 1310720 blocks
65536 blocks (5.00%) reserved for the super user
First data block=0
Maximum filesystem blocks=1342177280
40 block groups
32768 blocks per group, 32768 fragments per group
16384 inodes per group
Superblock backups stored on blocks:
32768, 98304, 163840, 229376, 294912, 819200, 884736

Writing inode tables: done
Creating journal (32768 blocks): done
Writing superblocks and filesystem accounting information:
done

This filesystem will be automatically checked every 33 mounts or
180 days, whichever comes first. Use tune2fs -c or -i to override.

[root@station9 prueba]#
[root@station9 prueba]#
[root@station9 prueba]# mount -t ext3 /dev/vol0/lv.prueba /mnt/prueba

Para comprobar los datos del nuevo fs:

[root@station9 mnt]# dumpe2fs /dev/vol0/lv.prueba | more
dumpe2fs 1.39 (29-May-2006)
Filesystem volume name:
Last mounted on:
Filesystem UUID: dbbb7283-18fa-49d6-b0f0-5ed41b5e59bd
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options: (none)
Filesystem state: clean
Errors behavior: Continue
Filesystem OS type: Linux
Inode count: 655360
Block count: 1310720
Reserved block count: 65536
Free blocks: 1254784
Free inodes: 655349
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 319
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16384
Inode blocks per group: 512
Filesystem created: Tue Sep 27 15:27:10 2011
Last mount time: Tue Sep 27 15:27:19 2011
Last write time: Tue Sep 27 15:27:19 2011
Mount count: 1
Maximum mount count: 33
Last checked: Tue Sep 27 15:27:10 2011
Check interval: 15552000 (6 months)

————–FIN ——————————
Maquinas Virtuales:

Crear un volumen: lvcreate -L 5G -n lv.vserver vol0
Crear un volumen: lvcreate -L 3G -n lv.vcracker vol0

Borrar un volumn: lvremove /dev/vol0/lv.cracker

Crear una máquina virtual con el fichero de instalación personalizado de redhat, y así empieza a instalar una máquina virtual redhat:

virt-install –accelerate –os-type linux –os-variant rhel5.4 -n vserver -r 256 -f /dev/vol0/lv.vserver -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Would you like a fully virtualized guest (yes or no)? no
Would you like to enable graphics support? (yes or no) yes

Creamos una segunda máquina virtual:

virt-install –accelerate –os-type linux –os-variant rhel5.4 -n vcracker -r 256 -f /dev/vol0/lv.vcracker -l http://instructor.example.com/pub -x ks=http://instructor.example.com/vserver.php?S=9 -w bridge:xenbr0

Si queremos ver las lista de máquinas virtuales:

[root@station9 ~]# virsh list
Id Name State
———————————-
0 Domain-0 running
8 vserver blocked
9 vcracker blocked

Tema 2. Inicialización y Resolución de problemas
************************************************

Sistema Operativo:

[root@station9 ~]# cat /etc/redhat-release
Red Hat Enterprise Linux Server release 5.1 (Tikanga)

Kernel:

[root@station9 ~]# uname -r
2.6.18-92.1.6.el5xen
[root@station9 ~]# uname -a
Linux station9.example.com 2.6.18-92.1.6.el5xen #1 SMP Fri Jun 20 03:05:59 EDT 2008 i686 i686 i386 GNU/Linux

Estandar que cumplen este linux:

[root@station9 ~]# lsb_release
LSB Version: :core-3.1-ia32:core-3.1-noarch:graphics-3.1-ia32:graphics-3.1-noarch

Kernel que tengo instalados:

[root@station9 ~]# rpm -aq kernel\*
kernel-headers-2.6.18-53.el5
kernel-xen-2.6.18-92.1.6.el5
kernel-PAE-2.6.18-53.el5
kernel-PAE-devel-2.6.18-53.el5

[root@station9 ~]# yum list installed kernel\*
Loading “rhnplugin” plugin
Loading “installonlyn” plugin
This system is not registered with RHN.
RHN support will be disabled.
Installed Packages
kernel-PAE.i686 2.6.18-53.el5 installed
kernel-PAE-devel.i686 2.6.18-53.el5 installed
kernel-headers.i386 2.6.18-53.el5 installed
kernel-xen.i686 2.6.18-92.1.6.el5 installed

Nivel de ejecución de la máquina, del 0 al 6: (se configura en el /etc/inittab). Por defecto en el 3 (texto) o en el 5 (grafico).

[root@station9 ~]# who -r
run-level 5 2011-09-26 10:04 last=S
[root@station9 ~]# /sbin/runlevel
N 5

Con runlevel veo el estado actual y el anterior. Si pone 3 4 estoy en el 3 y antes en el 4.

1 -> Entro como root y no pide passwd. (single user)
2 -> Sin conexiones, ni bluetooth, ni red, ….
3 -> Por defecto en modo texto
4 -> Para jugar
5 -> Por defecto en modo gráfico
6 -> Reboot
0 -> halt

[root@station9 ~]# who -r
run-level 5 2011-09-26 10:04 last=S
[root@station9 ~]# /sbin/runlevel
N 5

Para cargar grup de una maqina virtual:

xm create -c vserver -> nos lanzará el grup de la máquina virtual vserver.

Servicios: system-config-services

[root@station9 ~]# chkconfig –list
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
NetworkManagerDispatcher 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:off 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
apmd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-dnsconfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bluetooth 0:off 1:off 2:on 3:on 4:on 5:on 6:off
conman 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
dhcdbd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dnsmasq 0:off 1:off 2:off 3:off 4:off 5:off 6:off
dund 0:off 1:off 2:off 3:off 4:off 5:off 6:off
firstboot 0:off 1:off 2:off 3:on 4:off 5:on 6:off
gpm 0:off 1:off 2:on 3:on 4:on 5:on 6:off
haldaemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
hidd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
hplip 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ibmasm 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ip6tables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
iptables 0:off 1:off 2:on 3:on 4:on 5:on 6:off
irda 0:off 1:off 2:off 3:off 4:off 5:off 6:off
irqbalance 0:off 1:off 2:on 3:on 4:on 5:on 6:off
kudzu 0:off 1:off 2:off 3:on 4:on 5:on 6:off
libvirtd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
lvm2-monitor 0:off 1:on 2:on 3:on 4:on 5:on 6:off
mcstrans 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mdmonitor 0:off 1:off 2:on 3:on 4:on 5:on 6:off
mdmpd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
messagebus 0:off 1:off 2:off 3:on 4:on 5:on 6:off
microcode_ctl 0:off 1:off 2:on 3:on 4:on 5:on 6:off
multipathd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netconsole 0:off 1:off 2:off 3:off 4:off 5:off 6:off
netfs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
netplugd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
network 0:off 1:off 2:on 3:on 4:on 5:on 6:off
nfs 0:off 1:off 2:off 3:off 4:off 5:off 6:off
nfslock 0:off 1:off 2:off 3:on 4:on 5:on 6:off
nscd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
pand 0:off 1:off 2:off 3:off 4:off 5:off 6:off
pcscd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
portmap 0:off 1:off 2:off 3:on 4:on 5:on 6:off
psacct 0:off 1:off 2:off 3:off 4:off 5:off 6:off
rdisc 0:off 1:off 2:off 3:off 4:off 5:off 6:off
readahead_early 0:off 1:off 2:on 3:on 4:on 5:on 6:off
readahead_later 0:off 1:off 2:off 3:off 4:off 5:on 6:off
restorecond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
rhnsd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcgssd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcidmapd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
rpcsvcgssd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
saslauthd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
sendmail 0:off 1:off 2:on 3:on 4:on 5:on 6:off
smartd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
sshd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
syslog 0:off 1:off 2:on 3:on 4:on 5:on 6:off
vncserver 0:off 1:off 2:off 3:off 4:off 5:off 6:off
winbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
wpa_supplicant 0:off 1:off 2:off 3:off 4:off 5:off 6:off
xend 0:off 1:off 2:on 3:on 4:on 5:on 6:off
xendomains 0:off 1:off 2:off 3:on 4:on 5:on 6:off
xfs 0:off 1:off 2:on 3:on 4:on 5:on 6:off
ypbind 0:off 1:off 2:off 3:off 4:off 5:off 6:off
yum-updatesd 0:off 1:off 2:off 3:on 4:on 5:on 6:off

Secuencia de Arranque:
1 – Bios
2 – Bootloader (mbr) 512 bytes
3 – kernel
4 – init (proceso 1)
- /etc/rc.d/rc.sysinit
- /etc/rc.d/rc[0-6].d/
- /etc/rc.d/rc.local
5 – Consolas virtuales
6 – Gestor X

1 – Bios
No se explica

2 – Bootloader (mbr) 512 bytes. En wikipedia con gráficos.
446 bytes – Gestor de arranque GRUB. (solo la primera parte del grup 1st-stage). Como es tan pequeño solo 446 hay 3 links a stage1, stag2 y a initrd (mini driver para cargar el kernel)
Link 1: /boot/grup/stage1
Link 2: /boot/grup/stage2

[root@station9 ~]# ls -l
-rw-r–r– 1 root root 512 Sep 26 09:45 /boot/grub/stage1 (/sbin/grub-install para reparar)
-rw-r–r– 1 root root 104924 Sep 26 09:45 /boot/grub/stage2 (/boot/grub/grub.conf para configurarlo)
-rw——- 1 root root 1040 Sep 26 09:46 grub.conf

/boot no puede estar encima del raid ni de lvm, es una partición física.

Link 3: link a ramdisk para poder leer vmlinuz. Cada vez que se cambia el hardware hay que recrear el initrd y se recrea siempre al compilar el kernel.

[root@server109 ~]# ls -larth /boot/initrd-2.6.18-53.el5xen.img
-rw——- 1 root root 2.8M Sep 26 11:16 /boot/initrd-2.6.18-53.el5xen.img

64 bytes – 4 particiones primarias como máximo. Para hacer más creo una extendida
2 bytes – firma predeterminada

Configuración en grub:

# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/VolGroup00/LogVol00
# initrd /initrd-version.img
#boot=/dev/xvda
default=0 <—- Arranque por defecto
timeout=5 <—- Timeout máximo para interactuar
splashimage=(hd0,0)/grub/splash.xpm.gz <— Imagen predeterminado
#hiddenmenu <—– Ocultar el menu
password pepe <— poner la password para acceder a grub

# Title 0 (arranque 0)
title Red Hat Enterprise Linux Server (2.6.18-53.el5xen)
root (hd0,0) <—- Disco 1, particion 1
kernel /vmlinuz-2.6.18-53.el5xen ro root=/dev/VolGroup00/LogVol00 rhgb quiet <— Solo lectura y redhat graphic boot (rhgb) y silent si no hay error. El kernel carga en memoria los drivers para gestionar discos, pero no puedo cargar el kernel si antes no he cargado los drivers, para evitar "este círculo vicioso" antes se carga unos minidrivers en el initrd que permiten leer el kernel.
initrd /initrd-2.6.18-53.el5xen.img

———————–

si quiero cifrar la password de grub con grub-md5-crypt la cifro y ya lapuedo añadir al .conf

[root@station9 ~]# grub-md5-crypt
Password:
Retype password:
$1$ygLiI0$thRmaJNfxmDUwuW60vDEj/
[root@station9 ~]#
[root@station9 ~]#

[root@station9 ~]# cat /boot/grub/grub.conf
# grub.conf generated by anaconda
#
# Note that you do not have to rerun grub after making changes to this file
# NOTICE: You have a /boot partition. This means that
# all kernel and initrd paths are relative to /boot/, eg.
# root (hd0,0)
# kernel /vmlinuz-version ro root=/dev/vol0/root
# initrd /initrd-version.img
#boot=/dev/sda
default=0
timeout=5
splashimage=(hd0,0)/grub/splash.xpm.gz
hiddenmenu
password –md5 $1$ygLiI0$thRmaJNfxmDUwuW60vDEj/
title Red Hat Enterprise Linux Server (2.6.18-92.1.6.el5xen)
root (hd0,0)
kernel /xen.gz-2.6.18-92.1.6.el5
module /vmlinuz-2.6.18-92.1.6.el5xen ro root=/dev/vol0/root rhgb quiet
module /initrd-2.6.18-92.1.6.el5xen.img
title Red Hat Enterprise Linux Server (2.6.18-53.el5PAE)
root (hd0,0)
kernel /vmlinuz-2.6.18-53.el5PAE ro root=/dev/vol0/root rhgb quiet
initrd /initrd-2.6.18-53.el5PAE.img
title Install Red Hat Enterprise Linux 5
root (hd0,0)
kernel /vmlinuz-5 ks=http://192.168.0.254/workstation.cfg ksdevice=eth0 noipv6
initrd /initrd-5
password –md5 $1$FSUEU/$uhUUc8USBK5QAXc.BfW4m.

Si es una máquina virtual que no tiene grub necesito un comando de xen xm create -c domain

—————-
Para reinstalar el grub por si se ha corrompido o windows nos ha fastidiado el mbr.

grub
root (hd0,0)
setup (hd0)
quit

3 – kernel

- Detecta dispositivos
- Inicializa drivers
- Monta fs root como ro
- Carga proceso inicial init con pid 1
- Log en /var/log/dmesg

4 – init (proceso 1) en el /etc/inittab. Para ver el arbol de procesos pstree

- Inicializa runlevel
- Scripts de inicialización
- Runlevel scripts directorios
- Trap key sequences
- Define UPS
- Spawn gettys on virtual consoles 6 por defecto
- Initialize X in runlevel 5 (por defecto)

——————
[root@station9 ~]# man 5 inittab <———— manual del fichero de configuración la página 5.

[root@station9 ~]# cat /etc/inittab
#
# inittab This file describes how the INIT process should set up
# the system in a certain run-level.
#
# Author: Miquel van Smoorenburg,
# Modified for RHS Linux by Marc Ewing and Donnie Barnes
#

# Default runlevel. The runlevels used by RHS are:
# 0 – halt (Do NOT set initdefault to this)
# 1 – Single user mode
# 2 – Multiuser, without NFS (The same as 3, if you do not have networking)
# 3 – Full multiuser mode
# 4 – unused
# 5 – X11
# 6 – reboot (Do NOT set initdefault to this)
#
id:5:initdefault: <—- inicio por defeco en runlevel 5

# System initialization.
si::sysinit:/etc/rc.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc 0
l1:1:wait:/etc/rc.d/rc 1
l2:2:wait:/etc/rc.d/rc 2
l3:3:wait:/etc/rc.d/rc 3
l4:4:wait:/etc/rc.d/rc 4
l5:5:wait:/etc/rc.d/rc 5 <———— carga el runlevel 5 y "wait" hasta que no termine no continua y carga
l6:6:wait:/etc/rc.d/rc 6

# Trap CTRL-ALT-DELETE
ca::ctrlaltdel:/sbin/shutdown -t3 -r now <——– capturar ctrl+alt+delete para reiniciar.

# When our UPS tells us power has failed, assume we have a few minutes
# of power left. Schedule a shutdown for 2 minutes from now.
# This does, of course, assume you have powerd installed and your
# UPS connected and working correctly.
pf::powerfail:/sbin/shutdown -f -h +2 "Power Failure; System Shutting Down"

# If power was restored before the shutdown kicked in, cancel it.
pr:12345:powerokwait:/sbin/shutdown -c "Power Restored; Shutdown Cancelled"

# Run gettys in standard runlevels
# Terminales que se abren por defecto
1:2345:respawn:/sbin/mingetty tty1
2:2345:respawn:/sbin/mingetty tty2
3:2345:respawn:/sbin/mingetty tty3
4:2345:respawn:/sbin/mingetty tty4
5:2345:respawn:/sbin/mingetty tty5
6:2345:respawn:/sbin/mingetty tty6

# Run xdm in runlevel 5
# Si estoy en el runlevel 5 miro en el fichero /etc/X11/prefdm mi gestor de X preferido y lo lanzo.
x:5:respawn:/etc/X11/prefdm -nodaemon

——————
[root@station9 ~]# pstree
init─┬─/usr/share/virt
├─acpid
├─atd
├─auditd─┬─python
│ └─{auditd}
├─automount───4*[{automount}]
├─avahi-daemon───avahi-daemon
├─blktapctrl───{blktapctrl}
├─2*[bonobo-activati───{bonobo-activati}]
├─bt-applet
├─clock-applet
├─crond

————————
- /etc/rc.d/rc.sysinit ../init.d/yum-updatesd
lrwxrwxrwx 1 root root 19 Sep 26 09:44 /etc/rc5.d/K35vncserver -> ../init.d/vncserver
lrwxrwxrwx 1 root root 16 Sep 26 09:44 /etc/rc5.d/S99smartd -> ../init.d/smartd
lrwxrwxrwx 1 root root 16 Sep 26 09:45 /etc/rc5.d/K73ypbind -> ../init.d/ypbind
lrwxrwxrwx 1 root root 17 Sep 26 09:45 /etc/rc5.d/K35winbind -> ../init.d/winbind
lrwxrwxrwx 1 root root 14 Sep 26 09:45 /etc/rc5.d/S58ntpd -> ../init.d/ntpd
lrwxrwxrwx 1 root rTema 0. Introducción
********************oot 17 Sep 26 09:45 /etc/rc5.d/K01dnsmasq -> ../init.d/dnsmasq
lrwxrwxrwx 1 root root 20 Sep 26 09:46 /etc/rc5.d/S99xendomains -> ../init.d/xendomains
lrwxrwxrwx 1 root root 14 Sep 26 09:46 /etc/rc5.d/S98xend -> ../init.d/xend
lrwxrwxrwx 1 root root 18 Sep 26 09:46 /etc/rc5.d/S97libvirtd -> ../init.d/libvirtd
lrwxrwxrwx 1 root root 19 Sep 26 12:08 /etc/rc5.d/K90bluetooth -> ../init.d/bluetooth
lrwxrwxrwx 1 root root 14 Sep 26 12:09 /etc/rc5.d/K89hidd -> ../init.d/hidd

Si empieza por k los mato y si empiezan por S los levanta. El número indica el orden en que se levantan.

Un fichero de ejemplo es el anacron:

#!/bin/sh
# Startup script for anacron
#
# chkconfig: 2345 95 05 se encarga de servicios que no tienen un uso constante, cuando se detectan esos servicios lo gestiona xinetd, tienen que ser servicios que estén preparados para xinetd. La conf en /etc/xinetd.conf.

Montaje de unidades: mount …

Las unidades que se montan en el arranque están en:

[root@station9 ~]# cat /etc/fstab
/dev/vol0/root / ext3 defaults 1 1
/dev/vol0/home /home ext3 defaults 1 2
LABEL=/boot /boot ext3 defaults 1 2
tmpfs /dev/shm tmpfs defaults 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
sysfs /sys sysfs defaults 0 0
proc /proc proc defaults 0 0
LABEL=SWAP-sda3 swap swap defaults 0 0

Cuando se toque el /etc/fstab hacer mount -a para montar todo por precaución y en el reinicio no nos muestre error.

Si estoy modo “emergencia” y pienso que está el fs / en rw pero no me permite escribir debo remontar el / a rw ya que
“modo emergencia” está entre montar / en ro y montar / en rw:

a) … proceso de arranque …
b) montar / en ro
c) error (pero al mismo tiempo informa de que está en rw)
d) montar / en rw

Estoy en el paso c, debo hacer:

mount -o remount,rw /

Ya puedo editar en modo “emergencia” el /etc/fstab si al reiniciar no nos deja escribir.

Modo rescate:

“linux rescue” desde un CD por ejemplo software Linux Rescue CD.

Si estoy en modo rescate a todos los comando vgdisplay debo anteponerles lvm vgdisplay:

vgdisplay = lvm vgdisplay

En modo rescate el directorio más importante es tmp (están los logs, dispositivos detectados, … ) se perderán cuando haya rebotado. Se guarda todo en RAM y si hay poca RAM y detecta SWAP utiliza esta como almacenamiento.

Todo lo montado del disco duro rescatado estará en /mnt/sysimage/*, es decir: el fstab del rescue estará en:

/etc/fstab y el fstab del disco duro fisico estará en:
/mnt/sysimage/etc/fstab cualquier cambio debe hacer en /mnt/sysimage para que al rebotar en modo normal tengan efecto los cambios.

Con el comando:

chroot /mnt/sysimage

cambio la raiz del sistema de / a /mnt/sysimage, ahora cualquier cambio utiliza todo lo del HDD y no lo del entorno rescate. Para salir exit y volvemos al entorno de rescate.

En linux rescue man no funciona y debemos declarar:

chroot /mnt/sysimage
export MANPATH=/usr/share/man

Tema 3. Kernel y Configuración de red
*************************************

Puedes y debes tener más de un kernel, con yum siempre tienes 3 kernel instalados.

Esta en /boot/vmlinuz-version, es el único paquete que puede tener más de una versión instalada. Con el initrd pasa lo mismo hay un initrd para cada kernel. Los “modules” son los drivers y extensiones y para cada kernel debe tener compilado un module.

Existen un tipo de driver “dkms” que se recompila sobre la marcha al cargarse para tener el driver a la última recompilado con el último kernel. Asi no es necesario tener todos los drivers de cada kernel.

En rhel 5 hay 3 kernel posibles con 32 bits:
- kernel: donde la arquitectura intel solo permite direccionar 4 gb de ram (max 32 procesadores)
- kernel-PAE: utiliza un truco, si tengo más de 2 cores cada core gestiona 4 gb de ram (max 32 procesadores)
- kernel-xen: es un kernel-pae con soporte para virtualizar. (max 32 procesadores)

En rhel 5 de 64 bits:
- kernel: soporta 512 gb de ram (max 64 procesadores)
- kernel-xen: kernel para virtualización. (max 126 procesadores)

Para monitorizar procesos y recursos:
- kernel: uname, uptime, tload
- procesos: ps, top, gnome-system-monitor
- memoria: free, vmstat 2 20 (cada 2 segundos y máximo 20 veces), swapon -s, pmap
- disco: df, fdisk -l, iostat 2 20 (idem), lsof (ficheros abriertos de …)
- soporte: sosreport

Monitorizacion del kernel con /proc y /sys

/proc y /sys son 2 fs que no existen en el HDD, ya que los crea el kernel en tiempo real, en /proc info del hard y soft que está funcionando y en /sys es info de todos los dispositivos de almacenamientos de bloques. Cada proceso tiene un directorio en /proc.

En /proc es de solo lectura excepto /proc/sys modifico el kernel en tiempo real, pero no es persistente y al reiniciar se pierden los cambios. Esto ficheros se pueden machacar pero no se pueden modificar (vi, nano, ,….) debo utilizar “echo cambio > fichero_a_modificar”.

Para hacer los cambios persistentes lo añado al fichero /etc/sysctl.conf y para aplicarlos sysctl -p

Tema 4. Administración de usuarios
**********************************

Comandos: useradd passwd usermod chage groupadd gpasswd groupmod

En /etc/login.defs —> para modificar la expiración por defecto de cada usuario.

Tener en cuenta la UMASK de directorios y ficheros, 002 para usuario no de sistema, los ficheros tendrán 664 y los directorios 775

Se pueden crear grupos privados.

Permisos especiales SGID, son directorios colaborativos, si hago que un directorios sea colaborativos y tengo permiso para escribir en el, el fichero generado se creará con los permisos del directorio o grupo colaborativo.

Sticky bit: si tengo permiso en un directorio w puedo borrar cualquier fichero aunque sea de root, pero añadiendo este bit, solo el propietario del fichero puede modificarlo/borrarlo aunque sea el directorio 777

ACLs
—-

Para ver si una partición está montada como acl:

[root@station9 prueba]# fdisk -l

Disk /dev/sda: 250.0 GB, 250059350016 bytes
255 heads, 63 sectors/track, 30401 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes

Device Boot Start End Blocks Id System
/dev/sda1 * 1 13 104391 83 Linux
/dev/sda2 14 2308 18434587+ 8e Linux LVM
/dev/sda3 2309 2373 522112+ 82 Linux swap / Solaris
[root@station9 prueba]# tune2fs -l /dev/sda1 | grep options
Default mount options: user_xattr acl
[root@station9 prueba]#

Si no está montada como acl no sirven de nada las acls, al mismo tiempo si el fs al que nos llevamos un fichero con acl no soporta acl como vfat … tampoco sirven de nada las acls.

Para montar un fs como acl o desmontar:
tune2fs -o acl /dev/sda1 (añade)
tune2fs -o -acl /dev/sda1 (quita)

Comandos:

getfacl fichero —> obtiene las acl de un fichero
setfacl -m u:usuario:permisos fichero —> modifica las acl de ese fichero.

Tema 5. SELinux
**********************************

Con ls -Z y ps -Z veo el contexto de ficheros y procesos.

[root@station9 prueba]# ls -Z
-rwxrwxrwx+ root student root:object_r:user_home_t a
[root@station9 prueba]#

[root@station9 prueba]# ps -Z
LABEL PID TTY TIME CMD
root:system_r:unconfined_t:SystemLow-SystemHigh 4848 pts/0 00:00:00 bash
root:system_r:unconfined_t:SystemLow-SystemHigh 10004 pts/0 00:00:00 ps
[root@station9 prueba]#

Para gestionar contextos: semanage fcontext -l, por ejemplo para ver el contesto del fichero /etc/hosts

[root@station9 prueba]# semanage fcontext -l | grep host
/usr/share/ghostscript/fonts(/.*)? all files system_u:object_r:fonts_t:s0
/etc/vhosts regular file system_u:object_r:httpd_config_t:s0
/bin/hostname regular file system_u:object_r:hostname_exec_t:s0
/var/tmp/host_0 regular file system_u:object_r:krb5_host_rcache_t:s0
/etc/ssh/ssh_host_key regular file system_u:object_r:sshd_key_t:s0
/etc/ssh/ssh_host_dsa_key regular file system_u:object_r:sshd_key_t:s0
/etc/ssh/ssh_host_rsa_key regular file system_u:object_r:sshd_key_t:s0
/var/lib/amanda/\.amandahosts regular file system_u:object_r:amanda_config_t:s0
[root@station9 prueba]#

Para forzar la restauración original: restorecon -FRvv

Tcp wrap —> con ldd vemos si un comando está utilizando la librería tcpwrap y por tanto compatible.

[root@station9 mnt]# ldd /usr/sbin/sshd | grep wrap
libwrap.so.0 => /usr/lib/libwrap.so.0 (0x00d3c000)

Dentro de /etc/ hay host.allow y host.deny

Posteado por: haelsite | 27 septiembre 2011

Redimensionar el tamaño de una partición con VirtualBox en Ubuntu

Fuente: http://www.adictosaltrabajo.com/tutoriales/tutoriales.php?pagina=redimension-tamano-particion-virtualbox

Redimensionar el tamaño de una partición de VirtualBox

Indice:

Introducción

Las unidades de disco duro virtuales de VirtualBox, una vez creadas, ya no pueden ser redimensionadas desde la propia herramienta. Puede ocurrir, como es el caso de este tutorial, que tengamos información en una máquina virtual pero el tamaño de disco definido sea insuficiente y necesitemos aumentarlo. El proceso consiste básicamente en crear un disco duro nuevo del tamaño deseado y migrar la información del uno al otro.

El entorno utilizado para este tutorial es el siguiente:

Con estas versiones se asegura el correcto comportamiento del tutorial.

Situación de partida

En el caso mostrado en este tutorial, tenemos una máquina virtual con una partición de disco de máximo 8 GB, de los cuales está utilizado aproximadamente la mitad.

Disco duro inicial de 8 GB en VirtualBox

Disco duro inicial de 8 GB en VirtualBox

En esta máquina queremos instalar programas que ocuparán más del espacio restante libre, a si que necesitamos superar la limitación de los 8 GB. Aumentémoslo por ejemplo a 40 GB.

Paso 1. Crear la nueva partición

En el Manejador de Medios Virtuales de VirtualBox creamos un nuevo Disco Duro pulsando sobre Nuevo. Creamos una unidad de almacenamiento de expansión dinámica:

Nueva unidad de almacenamiento de Expansión Dinámica

Nueva unidad de almacenamiento de Expansión Dinámica

En este caso crearemos una imagen de tamaño de 40 GB:

Creamos una imagen de disco del nuevo tamaño deseado

Creamos una imagen de disco con el nuevo tamaño deseado

Finalizamos el asistente y tendremos ahora las dos imágenes de disco: la original de 8 GB y la nueva de 40 GB:

Imagen de disco original y la recién creada

Imagen de disco original y la recién creada

Paso 2. Montar el programa de partición GParted

El ISO del GParted Live CD que me hemos descargado anteriormente lo montamos en el Manejador de Medios Virtuales de VirtualBox, en la pestaña Imagen de CD/DVD:

Montar la imagen del Live CD de GParted

Montar la imagen del Live CD de GParted

Paso 3. Preparar la máquina virtual a redimensionar

La máquina virtual que queremos redimensionar en nuestro caso es:

Máquina Virtual a redimensionar

Máquina Virtual a redimensionar

Accedemos a su Configuración (icono superior), sección System, y configuramos el Boot Order como queda en la imagen: arranque antes por CD/DVD-ROM que por Disco Duro:

Orden de dispositivos de arranque de nuestra máquina virtual

Orden de dispositivos de arranque de nuestra máquina virtual

Asimismo, en la sección de Discos Duros, ambas particiones montadas, siendo la original Primario Maestro y la nueva de mayor tamaño, Primario Esclavo:

Imagenes de disco original y nueva montadas como Maestro y Esclavo

Imagenes de disco original y nueva montadas como Maestro y Esclavo

Por último en la sección de CD/DVD-ROM establecemos la ISO de GParted Live CD como unidad de CD montada:

Montamos la ISO de GParted como unidad deCDROM de nuestra máquina virtual

Montamos la ISO de GParted como unidad de CDROM de nuestra máquina virtual

Ya podemos Aceptar los cambios.

Paso 4. Aplicar los cambios en las particiones

Iniciamos nuestra máquina virtual y si hemos seguido correctamente los pasos anteriores, se arrancará la distribución de linux con GParted:

Distribución linux con GParted

Distribución linux con GParted

Pulsamos Enter para aceptar la opción por defecto (Default Settings). Lo mismo para el diálogo de keymap, para aceptar ‘Don’t touch keymap’. Cuando pregunte por el lenguaje, podemos introducir el 25 (Spanish), y en el modo de vídeo introducimos el 0 (start X…).

Finalmente arrancara GParted. Pulsamos sobre la partición /dev/hda1, con partición de tipo nfts, la original de 8 GB. Copiamos su contenido mediante el menú Partición | Copy:

Seleccionamos y copiamos la partición original de 8 GB

Seleccionamos y copiamos la partición original de 8 GB

A continuación accedemos a la nueva partición de 40 GB, con el selector superior derecho:

Seleccionamos la nueva partición

Seleccionamos la nueva partición de 40 GB

Pulsamos sobre la partición (tiene la etiqueta ”sin asignar’) y creamos una tabla de particiones, menú Dispositivo:

Crear una nueva tabla de particiones sobre la partición

Crear una nueva tabla de particiones

Aceptamos la advertencia que sigue en el proceso (la tabla de particiones se creará por defecto de tipo msdos):

Aceptamos la advertencia pulsando Apply

Aceptamos la advertencia pulsando Apply

A continuación, sobre la partición nueva, pegamos el contenido de la partición antigua, con el menú Partición | Paste:

Pegar contenido de la partición original en la nueva

Pegar contenido de la partición original en la nueva

Aparecerá entonces un diálogo para establecer el tamaño de la partición donde vamos a pegar el contenido. Pulsando el cursor sobre el lado derecho del rectángulo verde, que representa el tamaño de la partición final, arrastramos el mismo hasta la parte derecha del todo para utilizar todo el espacio. Finalmente pulsamos en Paste:

Establecer el tamaño de la partición a alojar la información copiada

Establecer el tamaño de la partición que aloja la información copiada

Pulsamos sobre Apply para que la orden de copia se efectúe:

Pulsamos sobre Apply para realizar ela copia de información

Pulsamos sobre Apply para realizar la copia de información

Al terminar el proceso, pulsamos en Close:

Proceso terminado correctamente

Proceso finalizado correctamente

Por último, vamos a asignar la propiedad de arranque a la partición. Pulsamos sobre la partición y accedemos al menú Partición | Gestionar flags:

Gestionar propiedades de la nueva partición

Gestionamos propiedades de la nueva partición

Seleccionamos boot y aceptamos:

Asignamos el flag Boot

Asignamos el flag boot (arranque)

Ya hemos terminado. Nuestra partición aparecerá de la siguiente forma:

Aspecto final de la nueva partición

Aspecto final de la nueva partición

Podemos cerrar ya GParted, hemos terminado.

Finalizamos la sesión y apagamos GParted

Finalizamos la sesión y apagamos GParted

Paso 5. Configurar la máquina virtual con la nueva partición

De nuevo configuramos las propiedades de nuestra máquina virtual, como hicimos en el paso 3. En cuanto al CDROM, ya no nos interesa montar GParted, restauramos la unidad CD/DVD anfitrión::

Restaurar la unidad CD/DVD anfitrión, ya no necesitamos la ISO de GParted

Restaurar la unidad CD/DVD anfitrión, ya no necesitamos la ISO de GParted

Respecto a los discos duros, ya podemos utilizar únicamente nuestra nueva partición, estableciéndola como Primario Maestro. La particion antigua ya no nos es necesaria, podemos borrarla (¡una vez que hayamos comprobado que la nueva funciona!):

Imagen de disco con la nueva partición dimensionada

Imagen de disco con la nueva partición dimensionada, como Primario Maestro

Paso 6: c’est fini!

Ya podemos utilizar la nueva partición. Al iniciar nuestro Windows XP, que es el sistema oeprativo invitado, se realizará automáticamete un chequeo de disco. Es recomendable hacerlo también si utilizamos otros sistemas operativos (e.g. linux, msdos), aunque sea lanzando el comando correspondiente de forma manual.

Comprobación del sistema de archivos de la nueva partición

Comprobación (automática en caso de Windows) del sistema de archivos del nuevo disco

Una vez iniciado Windows, comprobamos la partición de nuestra unidad de disco duro. El proceso de redimensión ha tenido éxito:

Disco duro con el nuevo tamaño de la partición

Disco duro con el nuevo tamaño de la partición

Conclusión

Existen múltiples maneras de hacer lo explicado en este tutorial, sólo hay que dar una vuelta por internet. Documento este método porque es el que utilizo y, aunque laborioso, es sencillo. Confío en que VirtualBox desarrolle e incluya en la propia distribución una utilidad de particionado de manera que todo este proceso sea aún más sencillo y transparente para el usuario.

Entradas antiguas »

Categorías

Seguir

Get every new post delivered to your Inbox.

Únete a otros 176 seguidores