lunes, 7 de octubre de 2013

Congelar un usuario en linux

La idea es que cuando reiniciemos el equipo se borre todos los contenidos que ha generado el usuario alumno y dejemos el equipo como estaba inicialmente.

1.- Preparamos el perfil genérico para los alumnos. Cambiamos el fondo, creamos enlaces en el Escritorio como por ejemplo un enlace con una carpeta samba donde los alumnos guardan sus trabajos.
   
2.- Guardamos el perfil.
Para ello Abrimos el terminal y copiamos el perfil en un fichero tar.

$ sudo su
# cd /etc/init.d
#tar -zcvf alumno.tar.gz /home/alumno

3.- Creamos un script que borra los contenidos y carga los nuevos archivos:

#!/bin/sh

cd /root
rm -rf /home/alumno/.*
rm -rf /home/alumno/*
cd /
tar -zxvf /etc/init.d/alumno.tar.gz

y lo guardamos en /etc/init.d/congelaralumno.sh y le damos permiso de ejecución

# chmod 755 /etc/init.d/congelaralumno.sh

4.- Cuando reiniciemos el equipo ejecutamos el script creado. Para ello ejecutamos el siguiente comando en /etc/init.d

# update-rc.d congelaralumno.sh defaults 80



jueves, 3 de octubre de 2013

Prácticas examen 10-10 Servicios en red

Tema 1

- Disponibilidad tecnología cableada (http://www.adslnet.es)

- IPv6 en Linux

- VPN con Windows

- Instalar webmin

Tema 2

- Registro del dominio .tk

- Comando nslookup (o dig)

- Fichero /etc/hosts

- Configurar servidor DNS zona directa manualmente

- Configurar servidor DNS zona inversa manualmente

- Configurar zona DNS webmin

- Configurar zona inversa DNS webmin

- Configurar servidor DNS Windows 2008 server

- DNS dinámico

- DNS con IPv6

miércoles, 18 de septiembre de 2013

Crear una VPN con Windows 7 y cliente Ubuntu, XP, Vista o Windows 7


Servidor:
http://www.xatakaon.com/seguridad-en-redes/como-crear-nuestra-propia-red-vpn-en-windows-7

Clientes ubuntu:
http://www.xatakaon.com/seguridad-en-redes/como-configurar-una-vpn-pptp-en-ubuntu

Cliente Windows XP/Vista o 7:
http://www.elguille.info/sistema/VPN/vpn_cliente.aspx

jueves, 25 de julio de 2013

Reemplazar los valores de una tabla en mysql

Para cambiar la fecha de una tabla por ejemplo sustituir el año 2012 por el 2013 podemos utilizar la siguiente sentencia sql:

update actuaciones2013 set fecha = Replace(fecha,'2012-','2013-');

Copiar una tabla en Mysql con su estructura y contenidos

Todos los años me toca actualizar una web del festival de humor de Araia. Lo que hago es copiar las actuaciones de las siguiente forma en phpmyadmin:

create table actuaciones2013 as (select * from actuaciones2012);
 
 

martes, 2 de julio de 2013

Curso HTML5. Post 8. Las etiquetas figure y figcaption

Las etiquetas <figure> y <figcaption>


    Las etiquetas figure y figcaption son dos etiquetas que te permiten incluir una leyenda en elementos como ilustraciones, diagramas, fotos,...etc. sin tener que utilizar hojas de estilos. <figure> representa la unidad de contenido mientras que <figcaption>, que es opcional, contiene la leyenda.


<figure>
    <img src="http://www.w3.org/html/logo/badge/html5-badge-h-solo.png" alt="logo html5" />
    <img src="http://www.w3.org/html/logo/badge/html5-badge-h-css3.png" alt="logo css3" />
    <figcaption>
          Estos son los logos de HTML5 y CSS3
    </figcaption>
</figure>

lunes, 1 de julio de 2013

Curso HTML5. Post 7. La etiqueta hgroup. Eliminada u obsoleta.

La etiqueta <hgroup>. Eliminada u obsoleta.


    La etiqueta hgroup que inicialmente había sido incluida en html5 para agrupar encabezado de títulos y subtítulos: <h1>,<h2>,... ha sido eliminada. Un ejemplo de su sintaxis era el siguient


<hgroup>
    <h1>T&iacute;tulo</h1>
    <h2>Subt&iacute;tulo</h2>
</hgroup>
<p>
    Texto
</p>
   
    Por lo tanto si inicalmente teníamos un hgroup lo deberemos cambiar por la etiqueta div:
<div>
    <h1>T&iacute;tulo</h1>
    <h2>Subt&iacute;tulo</h2>
</div>
<p> Texto </p>

martes, 28 de mayo de 2013

Script en shell de unix para hacer un ftp desde la línea de comandos pasando como parámetro el fichero

Este script sirve para enviar un fichero ftp al servidor servidorftp, con el usuario usuarioftp y password passwordftp, el fichero se va ha dejar en el directorioftp
del servidor remoto. Este es el script envioftp.sh:


#!/bin/sh
USER=usuarioftp
PASSWD=passwordftp
ftp -n servidorftp <<SCRIPT
user $USER $PASSWD
cd directorioftp
bin
put $1
quit
SCRIPT

Para llamarlo se puede hacer de la siguiente forma:

./envioftp.sh fichero_a_enviar

lunes, 27 de mayo de 2013

Script php para redimensionar imágenes jpg de forma masiva

Este es el script escrito en php para redimensionar de forma masiva varias imágenes que se encuentran en un directorio (controlado por la variable $directorio) dado.

Además podemos definir dos variables adicionales nuevoancho que te define los píxeles horizontales que va a tener nuestra nueva imagen (los verticales van a calcularse a partir de este para mantener las dimensiones) y la calidad de la imagen.

<?php

$directorio="/home/aitor/fotos";
$nuevoancho=75;
$calidad=80;

function redimensionar_jpeg($img_original, $img_nueva, $img_nueva_anchura, $img_nueva_altura, $img_nueva_calidad) {

// crear imagen desde original
$img = ImageCreateFromJPEG($img_original);

// crear imagen nueva
//$thumb = ImageCreate($img_nueva_anchura,$img_nueva_altura);
$thumb = imagecreatetruecolor($img_nueva_anchura,$img_nueva_altura);

// redimensionar imagen original copiandola en la imagen
ImageCopyResized($thumb,$img,0,0,0,0,$img_nueva_anchura,$img_nueva_altura, ImageSX($img),ImageSY($img));

// guardar la imagen redimensionada donde indicia $img_nueva

ImageJPEG($thumb,$img_nueva,$img_nueva_calidad);

}


$default_dir = "$directorio"; // directorio donde se encuentran las imágenes
$dirlist = array(); //make new array
$dir = dir($default_dir);
while($fitxategia_name = $dir->read()) // leemos cada uno de los ficheros
{

$imgorig="$directorio/$fitxategia_name";
$imgpeque="$directorio/$fitxategia_name";
$a=getimagesize($imgorig);
$ancho = $a[0];
$alto = $a[1];
$altop=round($nuevoancho*$alto/$ancho);
#echo "-----$ancho-----$alto-------75------$altop----\n";
redimensionar_jpeg($imgorig,$imgpeque,$nuevoancho,$altop,$calidad);
}


?>

martes, 7 de mayo de 2013

Curso HTML5. Post 6. La etiqueta address.

La etiqueta <address>

    La etiqueta address no es una etiqueta nueva, ya que existía anteriormente aunque prácticamente no se utilizaba, era una forma de referenciar direcciones postales. En la nueva versión la W3C pretende que sea una etiqueta que se va a utilizar para indicar información del propietario del página o parte de una página o artículo  incluyendo información como correo electrónico o la dirección de la página. Suele introducirse dentro de la etiqueta footer, aunque no tiene por qué.

Ejemplo 1:

<article>
<header>
<h2>Art&iacute;culo</h2>
</header>
<p>Descripci&oacute;n del art&iacute;culo</p>
    <footer>
<address>
        Escrito por: <a href="mailto:alopezaberasturi@egibide.org">Aitor LA</a>.<br/>
        profesordeinformatica.com <br/>
        Egibide<br/>
</address>
</footer>
</article>

Ejemplo 2:

<article>
<header>
       <h1>La etiqueta address</h1>
       <address>por Aitor Lopez de Aberasturi</address>
</header>
<p> Esta estiqueta ,.....</p>
</article>

NO habrá que utilizar la etiqueta address para referenciar a una dirección postal.

<address>
    Egibide- Nieves Cano <br/>
    profesordeinformatica.com <br/>
    C/ Nieves Cano, 1<br/>
    01001 Vitoria-Gasteiz <br/>
</address>

domingo, 5 de mayo de 2013

Curso HTML5. Post 5. Truco para la visualización correcta en navegadores que no soportan HTML5



Aunque se supone que HTML5 puede ser procesado correctamente incluso en navegadores que no lo implementan, hay navegadores y versiones como  Internet Explorer 8 y anteriores tiene problemas para procesarlo. Como solución se propone añadir el siguiente código en la cabecera del documento HTML:
<!--[if lt IE 9]>
<script>
 var e = ("abbr,article,aside,audio,canvas,datalist,details," +
   "figure,footer,header,hgroup,mark,menu,meter,nav,output," +
   "progress,section,time,video").split(',');
 for (var i = 0; i < e.length; i++) {
   document.createElement(e[i]);
 }
</script>
<![endif]-->

Curso HTML5. Post 4. Hoja de estilos CSS básica para html5

Para que el anterior código tenga el diseño deseado tendremos que añadir hojas de estilo a nuestra página web. A la hora de hacer una página web hay que separar el contenido, que irá incluido en el html del estilo (colores, tamaños, diseño,...)  que se incluirá en las hojas de estilo CSS. Más adelante hablaremos de las hojas de estilo y en concreto de las novedades que ofrece la nueva versión CSS3. De momento vamos a incluir una hoja de estilos interna básica a  nuestra página web. Esto lo incluiremos dentro del head de nuestra página web:

<style type="text/css" >
body { 
    width: 940px;
    font: 12px Helvetica, Arial, sans-serif;
    background: #f5f5f1;
    margin: auto;
}
header, section, footer, aside, nav, article {
    display: block;
    position: relative;
    float:left;
    height: 40px;
}
header {
    width: 100%;
    background: #ddd;
}

nav {
    width: 240px;
    background: #fff;
    background: #999;
}

section {
    background: #777;
    width: 700px;
    height: 100%;
}

article {
    width: 650px;
    margin: 10px;
        background: #aaa;

}
aside {
    width: 240px;
}

footer {
    width: 100%;
    background: #666;
}

</style>


miércoles, 1 de mayo de 2013

Curso HTML5. Post 3. Estructura básica de un documento HTML5

Estructura básica de un documento HTML5


    HTML5 incorpora varias etiquetas o tags nuevas que sobre todo ayudan en la maquetación de una página web. Inicialmente se maquetaba con tablas y posteriormente con capas (div). Todo maquetador habrá tenido sus problemas con las famosas capas a la hora de ajustar para los diferentes navegadores. La nueva versión de HTML facilita esta maquetación ya que crea nuevas etiquetas para facilitar y reducir el código. La mayoría de maquetadores utilizaban <div id=”cabecera”> para indicar la cabecera de un documento, en su lugar en HTML5 tenemos la etiqueta <header>.


    Esta es la estructura básica de un documento:


<!DOCTYPE html>
<head>
   <meta charset="UTF-8" />
   <title>Mi primera pagina web</title>
</head>
    <body>
            <header> Cabecera
            </header>
            <aside>
                <nav>
                    Navegador
                </nav>
            </aside>
        <section> Seccion
                <article>
            Articulo 1
                </article>
            <article>
            Articulo 2
                </article>
        </section>
            <footer>
            Pie de pagina
            </footer>
    </bo
dy>
</html>



<section>: Será una zona de un elemento.
<article>: Representa a cada un post, una noticia, o artículo.
<aside>: Es la barra lateral donde hay contenido relacionado con la página.
<header>: La cabecera de un documento o sección (ya que puede estar dentro de un article).
<footer>: El pie de página de un documento.
<nav>: zona que indica la navegación de la web por un documento.

martes, 30 de abril de 2013

Curso HTML5. Post 2. Mi primera página web.

Mi primera página web

    Como en todo lenguaje de programación vamos a realizar una página web con el contenido “Hola mundo”:

<!DOCTYPE html>
<head>
   <title>Mi primera pagina web</title>
</head>
<body>
   Hola mundo
</body>
</html>

    <!DOCTYPE html> indica el comienzo de la página web. Esto sustituye al código por ejemplo utilizado en HTML4 estricto:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

    La etiqueta <head> contiene todos los elementos que no se van a visualizar en una página web.

    La etiqueta <title> contiene el título de la página. Su contenido es muy importante ya que va a ser fundamental en el posicionamiento de nuestra página web dentro de los buscadores.

    La etiqueta <body> contiene el cuerpo de la página web. En el vamos a tener todos los elementos que se van a visualizar en una página web.
     
NOTA: Es importante que todo lo que se abre se tiene que cerrar y siguiendo un orden jerárquico. Por ejemplo <head><title></head></title> sería incorrecto.

    NOTA: Una de las novedades de HTM5 es que las etiquetas se puedes escribir tanto en mayúsculas como en minúsculas aunque a mi personalmente me siga gustando escribirlas en minúsculas siguiendo las anteriores versiones. En ese sentido es mucho menos estricto, incluso a la hora de poner comillas.

Curso HTML5. Post 1. Introducción.

Introducción
   
El HTML5 (HyperText Markup Language, versión 5) es la quinta versión del lenguaje de marcas HTML que nos ha permitido durante dos décadas crear página web. Aunque esta versión está en modo Beta, los nuevos navegadores, incluido Internet Explorer, implementan algunas características del nuevo lenguaje. A la hora de utilizar HTML hay que tener en cuenta si el navegador o navegadores tienen implementada la funcionalidad que queremos utilizar.


El lenguaje HTML es un lenguaje de marcas compuesto por etiquetas. Las etiquetas comienzan por un símbolo menor (<) y terminan por un símbolo mayor (>). Por ejemplo vamos a tener la etiqueta <article> que va indicar el comienzo de un artículo. Todas las etiquetas tienen un final  normalmente se indica con el símbolo menor barra (</) </article> que indica el final del artículo.


<article>
    Contenido del artículo
</article>


Dentro de una etiqueta vamos a poder tener atributos con sus correspondientes valores.
<etiqueta atributo=”valor” ></etiqueta>. Los atributos relacionados con el diseño se van a incorporar en las hojas de estilo que veremos en el próximo capítulo.


Para hacer una página web vamos a necesitar por una parte un editor (gedit, notepad, bluefish, notepad ++) y por otra parte un navegador (firefox, chrome, explorer, opera,...). En el editor de texto vamos a escribir el código HTML y vamos a guardar los documentos con extensión .html o .htm. Con el navegador vamos a visualizar la página web escrita. Yo suelo aconsejar un editor que te marque las etiquetas y te ayude con los colores y es importante probar nuestras páginas en diferentes navegadores ya que no se verá de igual forma en todos (y sobre todo en HTML5).


HTML5 nos permite una mayor interacción entre nuestras páginas web y contenido media (video, audio, entre otros) así como una mayor facilidad a la hora de codificar nuestro diseño básico.


miércoles, 24 de abril de 2013

Habilitar/deshabilitar ping firewall windows XP [Solución]

Para denegar el ping a tu máquina en Windows XP lo único que tienes que hacer es :

1.- Entrar en tu firewall de windows (Panel de control -> Firewall de windows)
2.- Ir a opciones avanzadas
3.- ICMP -> Configuración -> Quitar "permitir solicitud de eco entrante"
4.- Opciones Avanzadas -> Configuración -> ICMP -> Quitar "permitir solicitud de eco entrante"

Si una de las 2 pestañas no te la deja desmarcar suele ser porque se a modificado la configuración (por ejemplo se comparte carpetas o impresoras). la solución más rápida es "Restaurar los valores predeterminados".

miércoles, 17 de abril de 2013

Script para actualizar java7 en ubuntu 12.04

Este es el script que utilizo para actualizar java 7 en ubuntu12.04. Hace falta darle permisos de ejecución y descargar el jdk de oracle.

http://www.oracle.com/technetwork/es/java/javase/downloads/index.html

#/bin/sh

tar -zxvf jdk1.7.0_17.tar.gz
sudo mkdir -p /usr/lib/jvm/jdk1.7.0
sudo mv jdk1.7.0_17/* /usr/lib/jvm/jdk1.7.0/
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1
sudo update-alternatives --config java

for i in `ls /home `
do
j="/home/$i"
rm -f $j/.mozilla/plugins/libnpjp2.so $j/.mozilla/plugins/libjavaplugin_oji.so
sudo rm -f /usr/lib/firefox/plugins/libnpjp2.so /usr/lib/firefox/plugins/libjavaplugin_oji.so
mkdir -p $j/.mozilla/plugins
#Para 64 bit:
#ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/amd64/libnpjp2.so $j/.mozilla/plugins/
#Para 32 bit
ln -s /usr/lib/jvm/jdk1.7.0/jre/lib/i386/libnpjp2.so $j/.mozilla/plugins/

done


Cuando ejecutemos el programa vamos a tener que elegir la última opción que es la que hemos instalado.

Existen 2 opcioens para la alternativa java (que provee /usr/bin/java).

  Selección   Ruta                                     Prioridad  Estado
------------------------------------------------------------
* 0            /usr/lib/jvm/java-7-oracle/jre/bin/java   3         modo automático
  1            /usr/lib/jvm/java-7-oracle/jre/bin/java   3         modo manual
  2            /usr/lib/jvm/jdk1.7.0/bin/java            1         modo manual

Pulse <Intro> para mantener el valor por omisión [*] o pulse un número de selección: 2

lunes, 15 de abril de 2013

Error Vesamenu.c32: not a COM32R image al arrancar AirWay creado con multisystem [solucionado]

Este error nos ha ocurrido en algún equipo de clase pero no en todos. Habrá que investigar las causas pero hemos encontrado una solución rápida.

Lo único que hay que hacer para que nos arranque cuando nos da este error es lo siguiente:

Cuando nos aparece el mensaje de error después del boot poner xconf y presionar enter.

boot: xconf

Crear un USB arrancable con múltiples imágenes. Multisystem en ubuntu 12.04

Vamos a crear un USB arrancable con múltiples imágenes para ello vamos a utilizar el programa multisystem.

1.- Nos descargamos el multysistme

http://liveusb.info/multisystem/install-depot-multisystem.sh.tar.bz2

2.- Lo descomprimimos y en el Escritorio (haciendo doble click)

3.- Ejecutamos desde la línea de comandos el programa install-depot-multiboot.sh

cd /home/dinux/Escritorio
./ install-depot-multiboot.sh


5.- Descargamos las imágenes que queremos meter en nuestro usb. En nuestro caso Hirens Boot Cd y AirWay.
 
6.- Introducimos  el usb en el que queremos tener el multiarranque.

7.- Una vez instalado lo ejecutamos (Inicio -> Multisystem)

8.- Seleccionamos el disco y pinchamos en Aceptar.

9.- Arrastramos las imágenes del HBCD y AirWay (Nos va a pedir el password del sistema y cada una de ellas va a tardar algo de tiempo)

10.- Arrancamos el usb (poniendo en la BIOS  como opción de arranque o F8 en algunos sistemas) y probamos las entradas.



miércoles, 20 de marzo de 2013

Obtener el password de acceso a una página web no segura

Obtener el password de acceso a una página web no segura es muy sencillo utilizando Wireshark.

1.- Una vez instalado Wireshark ( apt-get install wireshark), lo ejecutamos.

2.- Comenzamos a capturar paquetes: Capture > interfaces  y elegimos el interfaz y le damos start. En nuestro caso wlan0 que es la tarjeta de red wifi.

3.- Hacemos un filtro de los paquetes a los mensajes enviados por POST (http.request.method == "POST") y pinchamos en Aply


4.- Nos hemos encontrado con la siguiente línea

998    34.209717    192.168.1.40    212.142.**.**    HTTP    883    POST /login/index.php HTTP/1.1  (application/x-www-form-urlencoded)

5.- Dentro del detalle de la línea en Hypertext Transfer protocol
 Podemos ver el usuario (alopezaberasturi) y el password (lo he asteriscado para que no se vea nada).

0350  3d 61 6c 6f 70 65 7a 61  62 65 72 61 73 74 75 72   =alopeza berastur
0360  69 26 70 61 73 73 77 6f  *******  i&passwo rd=*****

Wireshark no me detecta interfaces en ubuntu 12.04 [solucionado]

Tras instalar wireshark en ubuntu 12.04 he ejecutado la aplicación pero no me permite capturar interfaces (Capture -> interfaces no me deja seleccionar nada).

Lo único que hay que hacer es entrar en el Terminal como root y ejecutar wireshark

aitor@aitor-HP-G62-Notebook-PC:/var$ sudo su
[sudo] password for aitor:
root@aitor-HP-G62-Notebook-PC:/var# wireshark

domingo, 17 de marzo de 2013

Configuración de wordpress con la plantilla Open House [Solucionado]

Estos son los problemas y los problemas y las soluciones que hemos adoptado para la utilización de la plantilla OpenHouse en  Wordpress

1.- En el fichero zip de la plantilla incorpora varias plantillas entre ellas las de multi-idioma, que es la que te hace por defecto. A la hora de subirlo utilizando el gestor te da error por lo que hay que descomprimirlo y subirlo por ftp.

2.- Si instalamos multiidioma tenemos que que instalar el plugin QTranslate.

3.- Cuando hacemos cualquier búsqueda nos va a dar error 404. Esto se soluciona cambiando los enlaces permanentes.

Ajustes -> Enlaces permanentes

Elegimos "Orden de la entrada"

Creamos el fichero .htaccess y lo subimos
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index\.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>

4.- Si intentamos subir cualquier imagen nos dice que el sistema no tiene permisos de subida al directorio wp-content/uploads

En el servidor que yo he realizado la instalación me crea el directorio con el usuario apache, con lo que no me permite modificar los permisos,... lo que he realizado para solucionar lo es lo siguiente:

añadir al final del fichero wp-config.php

define( 'UPLOADS', 'wp-content/'.'archivosmultimedia' );

y he creado el directorio wp-content/archivosmultimedia



viernes, 8 de marzo de 2013

Servidor ssh con Ubuntu 12.04

1.- Instalamos el open ssh

# apt-get install ssh

2.- Accedemos al servidor con el comando ssh

# ssh usuario@maquina ( en lugar de máquina se puede poner localhost para probar en local)
introducimos contraseña
o

# ssh -l usuario maquina

La primera vez que realizamos la conexión nos va a pasar la clave pública.

3.- Realizamos comandos sobre el servidor

$ eject (para abrir el Cdrom, esto suele gustar mucho a los alumnos,.... se pasan todo el día abriendo el CD-ROM del compañero !!)

jueves, 28 de febrero de 2013

Como instalar app Inventor 1.1 en ubuntu 2.04 desde la linea de comandos

1.- Descargamos la versión 1.1 del appinventor

# wget http://dl.google.com/dl/appinventor/installers/linux/appinventor-setup_1.1_all.deb

2.- Instalamos el paquete

# dpkg -i dpkg -i appinventor-setup_1.1_all.deb

martes, 26 de febrero de 2013

Como modificar la entrada en grub2 de Ubuntu 12.04

1.- Editamos el fichero /boot/grub/grub.cfg

#gedit /boot/grub/grub.cfg

2.- Modificamos el valor del parámetro set default="0" en nuestro caso por 6
que es la línea de la entrada donde tenemos windows
set default="6"

Para saber que es la entrada 6 (empezando a contar desde 0) he hecho un simple grep de la palabra menuentry. Por defecto tiene la entrada 0 que en nuestro caso era el arranque de linux

/home/dinux# grep menuent /boot/grub/grub.cfg
menuentry 'Ubuntu, con Linux 3.2.0-29-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, con Linux 3.2.0-29-generic-pae (modo recuperación)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, con Linux 3.2.0-23-generic-pae' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry 'Ubuntu, con Linux 3.2.0-23-generic-pae (modo recuperación)' --class ubuntu --class gnu-linux --class gnu --class os {
menuentry "Memory test (memtest86+)" {
menuentry "Memory test (memtest86+, serial console 115200)" {
menuentry "Microsoft Windows XP Professional (on /dev/sda1)" --class windows --class os {

Páginas web realizadas por los alumnos del 6I


Buscatubici http://buscatubici.eshost.es/
Fraselink http://fraselink.eshost.es/

martes, 19 de febrero de 2013

Insalación moodle en ubuntu 12.04

1.- Realizamos la instalación de moodle

#apt-get install moodle

Nos va a pedir el password de la base de datos y el password para el usuario de moodle.

2.- Realizamos un enlace simbólico a la carpeta de moodle

# cd /var/www
# ln -s  /usr/share/moodle moodle

3.- Accedemos al directorio y hacemos la instalación desatendida

http://localhost/moodle/

martes, 5 de febrero de 2013

Instalar Joomla 3 en ubuntu 12.04

1.- Descargamos Joomla desde la página oficial

2.- Creamos una carpeta Joomla y metemos el archivo zip descargado

mkdir joomla2
cd joomla2
cp Descargas/Joomla_3.0.3-Stable-Full_Package.zip .

3.- Descomprimimos el Joomla

unzip  Joomla_3.0.3-Stable-Full_Package.zip

4.- Creamos una base de datos joomla con phpmyadmin

5.- accedemos a http://localhost/joomla y comprobamos que nos falta por instalar

6.- En nuestro caso

Anadimos al fichero /var/www/joomla/htaccess.txt
php_flag magic_quotes_gpc on


 Damos permisos:
 sudo chmod -R 777 /var/www/joomla/
 sudo chown -R www-data.www-data /var/www/joomla/


Como activar los errores en Apache. Ubuntu 12.04

1.- Editamos el fichero /etc/php5/apache2/php.ini

# gedit /etc/php5/apache2/php.ini

Si están comentadas (una comilla por delante) descomentamos las siguientes líneas

error_reporting = E_ALL  & ~E_NOTICE
display_errors = On

En la primera de las dos líneas podemos definir que errores queremos que se nos visualice, en el ejemplo anterior saco todos los errores excepto las notificaciones.

2.- Reiniciamos apache

# /etc/init.d/apache2 restart


miércoles, 30 de enero de 2013

Jerarquía de proxys en linux

Simplemente añadiendo la siguiente línea a nuestro squid.conf

cache_peer proxyaulas.diocesanas.org parent 8080 0 proxy-only

Podemos hacer que las peticiones que se hagan sobre nuestro servidor se realicen sobre el servidor de proxyaulas.


Vamos a realizar la siguiente práctica. Los alumnos van a poner como servidor proxy padre el ordenador del profesor:

cache_peer 172.20.202.115 parent 3128 0 proxy-only

De esta forma vamos a montar una jerarquía de proxys.

proxyaulas -> proxyprofesor -> proxyalumno

 

Hackear una contraseña de Windows utilizando el programa Ophcrack

1.- Descargamos el programa  Ophcrack desde

http://ophcrack.sourceforge.net/


Hackear un password de linux, sin borrar el password. Ejemplo: Ubuntu 12.04


1.- Instalamos el programa john the ripper desde el Centro de sofware de ubuntu o desde la línea de comandos:

$ sudo su
# apt-get install jhon

2.- Unimos los ficheros /etc/passwd y /etc/shadow'(donde se encuentran los password de nuestros usuarios) y lo metemos  en un fichero nuevo, por ejemplo passwordusuarios.

# unshadow /etc/passwd /etc/shadow > passwordusuarios

3.- Atacamos el fichero con el comando john

# john passwordusuarios
root@NC203P00:/home/dinux# john passwordsusuarios
Created directory: /root/.john
Loaded 3 password hashes with 3 different salts (generic crypt(3) [?/32])
aitor12           (aitor)
dinux            (dinux)
guesses: 2  time: 0:00:00:07 42% (1)  c/s: 51.96  trying:  


  
Vemos que si utilizamos contraseñas sencillas el programa las obtiene de forma sencilla por fuerza bruta.  Ejemplo: El usuario aitor tiene el password aitor12

Esta información se va guardando en el fichero .john/john.pot que está en en el home del susuario.

Se puede ver los valores con el comando
# john --show passwordusuarios

martes, 29 de enero de 2013

Como quitar los comentarios de un fichero con línea de comandos. Por ejemplo el /etc/squid3/squid.conf


Hacemos una copia de seguridad del fichero squid.conf
cd /etc/squid3/
cp squid.conf squid.conf.copia

Quitamos los comentarios
grep -v ^# squid.conf.copia  | grep -v ^$ > squid.conf > squid.conf

El primer grep te quita todas las líneas que empiezan por "#" y el segundo te quita todas las líneas en blanco

lunes, 28 de enero de 2013

Fichero de configuración básica de proxy. squid.conf. ubuntu 12.04

acl manager proto cache_object
acl localhost src 127.0.0.1/32 ::1
acl to_localhost dst 127.0.0.0/8 0.0.0.0/32 ::1
acl aula202 src 172.20.202.0/24
acl tiempo time MTWHF 9:00-13:30
acl tiempo2 time MTWHF 13:31-13:42
acl jon src 172.20.202.106
acl edu src 172.20.202.110
acl youtube dstdomain www.youtube.com *facebook.com
acl palabraproxy url_regex proxy hackear sex
acl SSL_ports port 443
acl Safe_ports port 80          # http
acl Safe_ports port 21          # ftp
acl Safe_ports port 443         # https
acl Safe_ports port 70          # gopher
acl Safe_ports port 210         # wais
acl Safe_ports port 1025-65535  # unregistered ports
acl Safe_ports port 280         # http-mgmt
acl Safe_ports port 488         # gss-http
acl Safe_ports port 591         # filemaker
acl Safe_ports port 777         # multiling http
acl CONNECT method CONNECT
http_access allow manager localhost
http_access deny palabraproxy
http_access deny youtube
http_access deny tiempo2
http_access allow jon
http_access allow aula202
http_access deny edu
#http_access deny aula202
http_access deny !Safe_ports
http_access deny CONNECT !SSL_ports
http_access allow localhost
http_port 3128
cache_dir ufs /var/spool/squid3 100 16 256
coredump_dir /var/spool/squid3
refresh_pattern ^ftp:           1440    20%     10080
refresh_pattern ^gopher:        1440    0%      1440
refresh_pattern -i (/cgi-bin/|\?) 0     0%      0
refresh_pattern (Release|Packages(.gz)*)$      0       20%     2880
refresh_pattern .               0       20%     4320

domingo, 27 de enero de 2013

Recuperar un backup o carga de un fichero sql desde la línea de comandos. Ejemplo en servidores 1and1



Para recuperar  desde la linea de comandos un backup de una base de datos mysql o para cargar un fichero sql de forma rápida yo suelo utilizar el siguiente comando:

mysql --password=password--user=miusuario -h miservidor mibasededatos  < ficherosql




Para recuperar un backup en un servidor 1and1 sería de la siguiente forma

1.- Nos conectamos por ssh a nuestro servidor (utilizando un cliente putty) o el propio comando ssh de linux

$ ssh www.mipaginaweb.com

Ejecutamos el siguiente comando:

$ mysql --password=mipassword --user=dbo111111111 -h db11111111.db.1and1.com db111111111 < backup.sql


Backup de una base de datos mysql desde la línea de comandos. Ejemplo en un sevidor 1and1

Para realizar un backup desde la linea de comandos podemos utilizar el comando mysqldump en la línea de comandos de la siguiente forma:

mysqldump --password=password--user=miusuario -h miservidor mibasededatos  > ificherosql




Para realizar un backup en un servidor 1and1 sería de la siguiente forma

1.- Nos conectamos por ssh a nuestro servidor (utilizando un cliente putty) o el propio comando ssh de linux

$ ssh www.mipaginaweb.com

Ejecutamos el siguiente comando:

$ mysqldump --password=mipassword --user=dbo111111111 -h db11111111.db.1and1.com db111111111 > backup.sql


miércoles, 23 de enero de 2013

Cambiar el password de un sistema operativo Linux: Ubuntu 12.04, Dinux, Fedora,...

1.- Arrancamos Linux con un CD-Live

2.- Vemos las particiones que tenemos en nuestro sistema. Como superusuario.

$ sudo su
# fdisk -l

y elegimos la partición que queremos hackear


 root@NC203P00:/home/dinux# fdisk -l

Disco /dev/sda: 160.0 GB, 160041885696 bytes
255 cabezas, 63 sectores/pista, 19457 cilindros, 312581808 sectores en total
Unidades = sectores de 1 * 512 = 512 bytes
Tamaño de sector (lógico / físico): 512 bytes / 512 bytes
Tamaño E/S (mínimo/óptimo): 512 bytes / 512 bytes
Identificador del disco: 0x00058553

Dispositivo Inicio    Comienzo      Fin      Bloques  Id  Sistema
/dev/sda1            2048   222273535   111135744   83  Linux
/dev/sda2   *   222275340   304190774    40957717+   7  HPFS/NTFS/exFAT
/dev/sda3       304195582   312580095     4192257    5  Extendida
/dev/sda5       304195584   312580095     4192256   82  Linux swap / Solaris

En nuestro caso /dev/sda1

3.- Montamos la partición en modo escritura en un directorio /dev/discoduro

# mkdir /mnt/discoduro
# mount -rw /dev/sda1 /mnt/discoduro

4.- Entramos como superusuario al disco duro

#chroot /mnt/discoduro

5.- Miramos los usuarios del sistema y elegimos el que queremos "hackear"

#cat /etc/passwd

hplip:x:113:7:HPLIP system user,,,:/var/run/hplip:/bin/false
saned:x:114:123::/home/saned:/bin/false
kdm:x:115:65534::/home/kdm:/bin/false
dinux:x:1000:1000:dinux,,,:/home/dinux:/bin/bash
proftpd:x:116:65534::/var/run/proftpd:/bin/false
ftp:x:117:65534::/srv/ftp:/bin/false
aitor:x:1001:1001:,,,:/home/aitor:/bin/bash
Debian-openarena:x:118:60:OpenArena dedicated server,,,:/var/games/openarena-server:/bin/false
josu:x:1002:1002:,,,:/home/josu:/bin/bash

6.- Cambiamos el password

# passwd dinux
Introducimos el password y nuevo password


7.- Reiniciamos el equipo y arrancamos desde el disco duro



lunes, 21 de enero de 2013

Borrar el password de un usuario de Windows: XP, Vista, W7

1.- Vamos a crear un CD-ROM con Hirens Boot CD
http://www.hirensbootcd.org/download/
Para ello lo descargamos de la página oficial
http://www.hirensbootcd.org/download/

Quemamos la imagen .iso en el CD utilizando programas como K3B en Linux o Nero en Windows (el propio zip tiene un ejecutable que nos permite quemar la imagen)

2.- Arrancamos el ordenador desde el CD-ROM

Para ello tenemos que configurar en la BIOS como primera opción de arranque el CD-ROM

3.- Elegimos el programa "Offiline NT/2000/XP/Vista/7 Password Changer"

4.- El programa nos va a hacer varias preguntas: En que partición tenemos los usuarios, En que fichero se guardan los usuarios,.... ( en la mayoría de los casos tenemos preseleccionada una opción con lo que simplemente pulsaremos la tecla Enter)

5.- Introduciomos los usuarios a los que queremos borrar el password y pulsamos la tecla 1 para borrar el password
...username to change [Administrador] usuario
1. Clear blank user password

6.- Para grabar los cambios hay que salir de la forma siguiente

q-> quit 
About writing file(s) back ! Do it ? [n] y

Es importante esta última opción,.... yo entiendo que no queremos rechazar los cambios,.. parece ser todo lo contrario. Hay que decir que sí.

Finalmente hay que reiniciar el equipo sin el CDROM y probar si entramos con el usuario sin el password

#reboot

Aquí tenéis un video explicativo:

http://www.youtube.com/watch?v=JIx46zQlKCk

martes, 15 de enero de 2013

Firewall básico iptables en ubuntu 12.04

1.- Creamos el fichero /etc/init.d/firewall.sh con el siguiente contenido


#!/bin/bash


# limpia todas las reglas / quita el firewall

iptables -F

# Acepto todas los paquetes de entrada, salida y reenvio

iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT

# reglas para localhost

iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT

# doy permisos a Jon

iptables -A INPUT -s 172.20.202.106 -j ACCEPT

# josu puede acceder por ssh
iptables -A INPUT -s 172.20.202.104 -p tcp  --dport 22 -j ACCEPT
iptables -A INPUT -s 172.20.202.0/24 -p tcp  --dport 22 -j ACCEPT


# todos pueden acceder al servidor web
iptables -A INPUT  -p tcp  --dport 80 -j ACCEPT


#quitamos el ping

iptables -A INPUT -p icmp -j DROP
# deniego el resto de cosas

iptables -A INPUT -p tcp --dport 1:1024 -j DROP

2.- damos permisos

chmod 755 /etc/init.d/firewall.sh

3.- Ejecutamos
 /etc/init.d/firewall.sh


Para ver las reglas:
iptables -L

Para quitar el firewall
iptables -F

miércoles, 9 de enero de 2013

Prácticas realizadas Tema 7

1.- Configurar un servidor VPN WXP con cliente Windows y Linux (9/1/2013)

Servidores:
http://www.elguille.info/sistema/VPN/vpn_servidor.aspx

Clientes:
http://www.elguille.info/sistema/VPN/vpn_cliente.aspx
http://www.linuxnoveles.com/2012/tutorial-para-configurar-una-vpn-en-ubuntu-linux/


Solucionado: Error Virtualbox ubuntu 12.04 "Kernel driver not installed (rc=-1908)"

solución 1:

/etc/init.d/vboxdrv setup

Solución 2:

Quitamos virtualbox y las cabeceras del núcleo y las volvemos a instalar.

apt-get remove virtualbox
apt-get remove linux-headers-$(uname -r)
apt-get install linux-headers-$(uname -r)
apt-get install  virtualbox

Reiniciamos el servidor y debería funcionar. Comprueba que existe /dev/vboxdrv

$  ls /dev/vboxdrv

Sino probar solución 1