martes, marzo 25, 2014

Perl, consultar el directorio activo (active directory de Windows)

Para consultas del directorio activo tendremos que instalar el módulo NET::Ldap.
Hay muchas referencias en Internet para el acceso a servidores LDAP, pero pocas se refieren al Directorio Activo de Microsoft (Active Directory).

Me he descargado el DWIMPerl para Windows, y voy a utilizar el editor perl que trae el mismo, que se llama PADRE.

Lo primero es conseguir conectarse al servidor.


Si el resultado es SUCCESS, ya podemos continuar con las consultas.

En este momento deberíamos conectarnos al directorio activo y mirar en una de las entradas que nos interesan cómo se llaman los ATRIBUTOS por lo que podemos preguntar.


Ahora que ya tenemos claro eso, podemos terminar el programa que aplica un filtro a la consulta, y luego recorre las entradas devueltas imprimiendo en pantalla los atributos que nos interesen:


Así queda el programa:


#!/usr/bin/perl

 use Net::LDAP;

 my $usuario = "dominio\\usuarioAdministrador";
 my $password = "password";
 
 my $servidorLdap = "ldap://servidor.dominio.es";

 # conexion al servidor
 $ldap = Net::LDAP -> new ($servidorLdap) || die "No me he podido conectar al servidor\n";

 # validarnos en el servidor
 $mensaje = $ldap -> bind($usuario, password => $password);
 $resultado = sprintf("%s",$mensaje->error);
 
 # Establecemos el filtro que nos interesa: 
 $filtro = "objectClass=group";

 # Lanzamos la consulta:
 $resultado = $ldap -> search(filter => "(&($filtro))", base => "DC=dominio,DC=es");
 
 # Miramos el numero de entradas que cumplen el filtro:
 my $numero = $resultado -> count;
 
 # Por cada respuesta escribimos en una linea el nombre y cuando ha cambiado la entrada:
 my $count = $resultado -> count;
 for (my $i=0; $i<$count; $i++) {
     $entry = $resultado->entry($i);
     print $entry->get_value('CN').", ".
           $entry->get_value('whenChanged')."\n";
}

 # Nos desconectamos:
 $mensaje = $ldap->unbind;

lunes, marzo 24, 2014

Linux, añadir un disco al servidor y crear el filesystem



Cuando añadimos un disco físico al servidor, todavía no está utilizable por el sistema operativo.

En el directorio /dev se habrá creado el fichero de dispositivos. El primer problema es encontrar el fichero del nuevo disco.

Normalmente, el disco /dev/sda será el principal.
Tendremos el /dev/sda1como una partición de ese disco principal.
/dev/sda2 será una segunda partición.

Seguramente /dev/sdb será el nuevo disco que hemos añadido.

¿Cómo continuamos?

1.-Crear a nivel de sistema operativo el volumen físico ("Physical volume"):
pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.

2.-Comprobar si realmente se ha creado bien:

pvdisplay /dev/sdb
 

  "/dev/sdb" is a new physical volume of "150.00 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name               

  PV Size               150.00 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               kojD15-fcL3-HTZf-6VOm-Oc0H-apH7-qzXNuL

3.-Crear el "Volume Group". El que estoy creando es para el software introscope, por lo que lo llamaré vgintroscope.
En este ejemplo lo voy a crear con extensiones de 32Mb.

vgcreate vgintroscope /dev/sdb –s 32

4.-Ahora tenemos que ver cómo se ha creado el "Volume Group":


vgdisplay vgintroscope
  
  --- Volume group ---

  VG Name               vgintroscope

  System ID            

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               149.97 GB

  PE Size               32.00 MB

  Total PE              4799

  Alloc PE / Size       0 / 0  

  Free  PE / Size       4799 / 149.97 GB

  VG UUID               AfWior-uCD3-T22E-V2Cd-aabm-BCi7-jGYnNA


5.-Hay que crear el volumen lógico. En mi caso voy a asignarle todo el tamaño disponible al nuevo volumen. Normalmente se le asigna un tamaño menor con el fin de tener posibilidades de crecimiento en el futuro.

En el punto anterior (4º), he visto que el VG tiene 4799 extensiones. Como he dicho voy a asignar todas las extensiones al lvintroscope.

lvcreate -l 4799 vgintroscope -n lvintroscope
  Logical volume "lvintroscope" created


6.-Crear el FileSystem. Elijo el formato ext3.


mkfs -t ext3 /dev/vgintroscope/lvintroscope
mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

19660800 inodes, 39313408 blocks

1965670 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4294967296

1200 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, 1605632, 2654208,

        4096000, 7962624, 11239424, 20480000, 23887872



Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done



This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.



7.-Crear el directorio y montar el filesystem en ese directorio:
mkdir /introscope
mount /dev/vgintroscope/lvintroscope /introscope

8.-Si se quiere que se haga el montaje automáticamente cada vez que se reinicia el servidor, entonces hay que meter la entrada correspondiente en el fichero /etc/fstab.

Saludos,
Aitor.

viernes, marzo 07, 2014

Linux zerbitzariari disko berri bat gehitu



Linux zerbitzariari disko bat gehitu ondoren, oraindik sistema eragilearentzat ez dago erabilgarri.
/dev direktorioan aurkitu duen diskaren "device" fitxategia sortuko zen.
Lehenengo arazoa, diskoa aurkitzea da.

Normalean /dev/sda diskoa nagusia izango da.
/dev/sda1 diska naguziaren partizio bat.
/dev/sda2 diska naguziaren beste partizio bat.

¿Zer egin behar da orain?

Seguraski, /dev/sdb izango da jarri dugun disko berria.

1.-"Physical volume" edo bolumen fisikoa sortu:
pvcreate /dev/sdb
Physical volume "/dev/sdb" successfully created.

2.-Begiratu benetan ondo sortu den, eta tamaina egokia duen:

pvdisplay /dev/sdb
 

  "/dev/sdb" is a new physical volume of "150.00 GB"

  --- NEW Physical volume ---

  PV Name               /dev/sdb

  VG Name               

  PV Size               150.00 GB

  Allocatable           NO

  PE Size (KByte)       0

  Total PE              0

  Free PE               0

  Allocated PE          0

  PV UUID               kojD15-fcL3-HTZf-6VOm-Oc0H-apH7-qzXNuL

3.-Sortu "Volume Group"-a. Nirea Introscope softwarearentzat da. Beraz vgintroscope deituko diot.
Adibide honetan 32Mb-ko luzapenak edo zatiak erabiltzen ditut.


vgcreate vgintroscope /dev/sdb –s 32

4.-Ikusi nola sortu den "Volume Group"-a:


vgdisplay vgintroscope
  
  --- Volume group ---

  VG Name               vgintroscope

  System ID            

  Format                lvm2

  Metadata Areas        1

  Metadata Sequence No  1

  VG Access             read/write

  VG Status             resizable

  MAX LV                0

  Cur LV                0

  Open LV               0

  Max PV                0

  Cur PV                1

  Act PV                1

  VG Size               149.97 GB

  PE Size               32.00 MB

  Total PE              4799

  Alloc PE / Size       0 / 0  

  Free  PE / Size       4799 / 149.97 GB

  VG UUID               AfWior-uCD3-T22E-V2Cd-aabm-BCi7-jGYnNA


5.-Orain, bolumen logikoa sortuko dugu. Tamania guztia emango diot bolumen honentzat. Askotan tamania txikiagoa ematen zaio, aurrerako, beharra izanez gero handitzeko. Laugarren puntuan, VG horrek 4799 zati dituela ikusten dut. Zatitxo guztiak izango dira lvintroscope-rentzat.

lvcreate -l 4799 vgintroscope -n lvintroscope
  Logical volume "lvintroscope" created


6.-Sortu Fitxategi sistema (filesystem). Ext3 formatua aukeratzen dut.


mkfs -t ext3 /dev/vgintroscope/lvintroscope
mke2fs 1.39 (29-May-2006)

Filesystem label=

OS type: Linux

Block size=4096 (log=2)

Fragment size=4096 (log=2)

19660800 inodes, 39313408 blocks

1965670 blocks (5.00%) reserved for the super user

First data block=0

Maximum filesystem blocks=4294967296

1200 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, 1605632, 2654208,

        4096000, 7962624, 11239424, 20480000, 23887872



Writing inode tables: done                           

Creating journal (32768 blocks): done

Writing superblocks and filesystem accounting information: done



This filesystem will be automatically checked every 39 mounts or

180 days, whichever comes first.  Use tune2fs -c or -i to override.



7.-Sortu direktorioa eta aurreko puntuan sortu duzun filesystem-a puntu horretara lotu:
mkdir /introscope
mount /dev/vgintroscope/lvintroscope /introscope

8.-Zerbitzaria pizten den bakoitzean, automatikoki muntaia egitea nahi baduzu, /etc/fstab fitxategian sarrera hori sartu beharko duzu.

Agur bero bat.
Aitor