ConfiguracionDefectoJava

Martes, 30 de abril de 2013

Conocer los parámetros por defecto de Java

Para conocer los parámetros por defecto con los que nos arrancará la máquina Java si no indicamos nada podemos usar:

# java -XX:+PrintFlagsFinal

java ,

formatolsrh6

Jueves, 4 de abril de 2013

Cambios en el formato largo del comando ls en Red Hat 6

Al revisar los contenidos de un directorio en un servidor con Red Hat 6, me ha llamado la atención que en algunos ficheros o directorios, a continuación de los permisos, en algunos de ellos aparecía un punto (carácter ‘.’).

# ls -l /etc/sysconfig

-rw-r–r–  1 root root 2440 Dec  6 17:11 raid-check
-rw-r–r–. 1 root root  551 Mar 24  2010 readahead
-rw-r–r–  1 root root  659 Mar  7 16:37 readonly-root
drwxr-xr-x. 4 root root 4096 Feb 26 08:28 rhn
-rw-r—–  1 root root   41 Dec  2  2011 rngd
-rw-r–r–. 1 root root  196 Apr  4 10:08 rsyslog

En anteriores versiones del SO, no había visto este carácter. Revisando documentación por internet he visto que después de los permisos existe un carácter que específica métodos alternativos de acceso. Cuando este carácter es imprimible entonces está definido alguno de estos métodos.  En el caso de que este carácter sea ‘.’ indica que el fichero tiene establecido un contexto de seguridad SELinux. Otro carácter que suele aparecer es ‘+’ para indicar que el fichero tiene otro método de acceso como una ACL,…

http://www.gnu.org/software/coreutils/manual/coreutils.html#ls-invocation

Linux ,

GenerarManualmenteFicherosTraducciones

Martes, 24 de julio de 2012

Generar manualmente ficheros de traducciones .mo a partir del .po correspondiente

Las herramientas de modificación de ficheros .po generan de forma automática los ficheros .mo correspondiente. Sin embargo, en algunos casos nos puede interesar modificar los ficheros .po con un editor de textos normal y luego para generar el fichero .mo correspondiente podemos usar el comando:

# msgfmt -o fichero.mo fichero.po

Sin clasificar

CalcularSemanaMes

Martes, 17 de julio de 2012

Calcular el número de semana dentro del mes en Bash

Para calcular el número de semana dentro de un mes (por ejemplo para saber si un día es el tercer martes de un determinado mes) podemos usar el siguiente comando:

# cal -m $MES $YEAR | sed -n "3,$ p" | sed -n "/$DAY/{=;q;}"

Este comando calcula partiendo de la base de que el primer día de la semana es lunes. Para calcular partiendo del domingo como primer día de la semana, quitaríamos el flag “-m” del comando cal o añadiríamos el flag “-s”.

Linux ,

ComprobarCertificadosSSL

Martes, 17 de julio de 2012

Comprobar que la clave pública de un certificado SSL se corresponde con la clave privada

En ocasiones tenemos dudas de si el certificado SSL con el que estamos trabajando se corresponde con la clave privada que tenemos guardada en el servidor. Para comprobar si esto es así podemos comprobar el módulo de las claves pública y privada. Si estos módulos coinciden entonces tenemos un par clave pública/privada válido. Para calcular estos módulos podemos usar el comando openssl:

# openssl x509 -noout -modulus -in certificado.crt
# openssl rsa -noout -modulus -in private.key

Si conservamos la petición de firma (CSR – Certificate Sign Request) también podemos comprobar su módulo con:

# openssl req -noout -modulus -in peticion.csr

El módulo de una clave pública/privada es una cadena hexadecimal muy grande por lo que es difícil compararlas a primera vista. Para facilitarnos esta labor podemos usar el comando uniq. Si la salida de este comando es una sola línea, entonces las claves coinciden y todo va bien. Si la salida es más de una línea entonces hay algo que no está bien.

# (openssl x509 -noout -modulus -in certificado.crt ; \
   openssl rsa -noout -modulus -in private.key ; \
   openssl req -noout -modulus -in peticion.csr ) | uniq | wc -l

 

ssl , , ,

TareasWindows7

Lunes, 26 de marzo de 2012

Tareas en Windows 7 desde la línea de comandos

Para gestionar las tareas en Windows 7, además del Programador de Tareas accesible desde el panel de control (en sistema y seguridad), disponemos del comando schtasks.exe. Este comando sustituye al comando at.exe (aunque todavía se encuentra presente).

Para ver las tareas que tenemos programadas podemos usar:

C:\>schtasks |more

En el listado que nos aparece se nos muestra el estado de cada tarea y podemos ver las que no se han iniciado (puede que por algún problema). Si queremos borrar alguna de estas tareas simplemente ejecutaremos:

C:\>schtasks /delete /TN "Nombre de la tarea"

El sistema nos solicitará confirmación y la tarea será borrada del sistema.

 

Windows ,

estadoMemcached

Jueves, 19 de enero de 2012

Información estado Memcached

Memcached es un sistema libre y open source, de gran rendimiento, distribuido y de propósito general para caché basado en memoria.

Para saber las opciones de configuración con las que ha sido arrancado podemos usar el siguiente comando:

# echo "stats" | nc localhost 11211

Para obtener información información sobre los valores que se están almacenando en la caché podemos utilizar los comandos memcat y memdump que vienen con la librería libmemcached.

El comando memdump nos permite obtener un listado de las claves que se están guardando actualmente en el servidor:

# memdump --servers=localhost

En las pruebas que yo he realizado, este comando devuelve un conjunto de claves y luego finaliza con error.

Si queremos conocer el contenido exacto de una de las claves guardadas en el servidor podemos usar el comando memcat:

# memcat --servers=localhost nombreclave

nombreclave puede ser uno de los valores obtenidos con el comando memdump o lo podemos obtener de las aplicaciones que usan memcached (por ejemplo puede ser el identificador de una sesión,…)

 

 

Sin clasificar , ,

LDAPSearchWrapLines

Viernes, 28 de octubre de 2011

Corte de líneas largas en LDAPSearch

Si en el LDIF que se devuelve como resultado de una consulta al LDAP con el comando ldapsearch hay líneas más largas de 76 caracteres, estas lineas son cortadas y los caracteres sobrantes se escriben en la línea siguiente (esta línea comienza por un espacio en blanco):

dn: cn=UN_NOMBRE_LARGO_MUY_LARGO,cn=portal.080827.121025.144000000,cn=groups,d
 c=username,dc=local

Para volver a concatenar estas líneas podemos usar el siguiente script escrito en Perl:

#!/usr/bin/perl

$cnt=0;
while ($line = <>) {
 chomp($line);
 if ( $line =~ /^authpassword/ ) {
 next;
 } elsif ( $line =~ /^\S+/) { ### this line is a "normal" or starting line
 $results[$cnt++] = $line;
 } elsif ( $line =~ /^$/ ) {  ### this line is blank
 $results[$cnt++] = "";
 } elsif ( $line =~ /^ \S+/ ) {  ### this line is a continuation
 $results[$cnt-1] = $results[$cnt-1] . substr($line,1);
 }
}

for $i (0 .. $cnt) {
 print "$results[$i]\n";
}

Este script se ha obtenido de la dirección: http://www.dannorris.com/2008/09/08/concatenating-lines-in-ldapsearch-results/

Linux , ,

CommitMonitor

Martes, 18 de octubre de 2011

CommitMonitor: utilidad sencilla para monitorizar repositorios SVN

CommitMonitor es una pequeña utilidad para Windows que permite monitorizar los commits que se realizan a repositorios Subversion.

Esta utilidad se queda residente en el system tray de Windows y periodicamente monitoriza los repositorios SVN que nos interesan y nos avisa con los últimos commits realizados en ellos. El intervalo de tiempo entre las comprobaciones es configurable para cada repositorio.

Windows

ApacheCaseInsensitive

Jueves, 9 de junio de 2011

Creación de alias y redirecciones en Apache sin distinguir entre mayúsculas y minúsculas

El servidor web Apache distingue entre mayúsculas y minúsculas a la hora de crear alias y redirecciones. Sin embargo, existe una forma de que no tenga en cuenta esto. En el caso de las redirecciones lo haríamos con la siguiente directiva de configuración:

RedirectMatch permanent (?i)^/alias http://otro-host/otro-alias

Para el caso de los alias sería de la siguiente forma:

AliasMatch  (?i)^/alias /some-dir

Apache , ,