viernes, 14 de diciembre de 2012

Limitar acceso a un directorio web por la IP

Se debe crear un fichero .htaccess  que debe estar contenido en el mismo directorio a proteger.
Debe contener el siguiente código:


AuthUserFile /dev/null
AuthGroupFile /dev/null
AuthName "Control Access"
AuthType Basic
<LIMIT GET>
order deny,allow
deny from all
allow from x.x.x.x
allow from x.x.x.x/24
</LIMIT>
 
Cada IP o rango de IPs se coloca con una nueva línea de "allow from ". El número de "allow" es ilimitado.

Para proteger un fichero en particular
Proteger un fichero en particular
Si quieres proteger un fichero en lugar de un directorio, se hace de forma parecida. En el fichero .htaccess del directorio que contiene el fichero se indica lo siguiente:

<Files fichero.php>
 Order Deny,Allow
 Deny from All
 Allow from x.x.x.x
 </Files>
 

miércoles, 12 de diciembre de 2012

Can't open /dev/null: Permiso denegado

ls -l /dev/null
Los valores correctos deberían de ser:


 crw-rw-rw- 1 root root 1, 3

Si se tiene algo diferente como lo siguiente...


 -rw-r--r-- 1 root root 1, 3 

Como usuario root se debe borrar /dev/null

rm /dev/null

y crear uno nuevo

mknod -m 0666 /dev/null c 1 3

ahora si volvemos a hacer un ls, los permisos deberían ser los correctos



martes, 11 de diciembre de 2012

Comprobar si se ejecuta el cron.daily debug

run-parts --test /etc/cron.daily

Convertir formato científico a formato humano con bc y perl

Este código multiplica el primer número por el segundo usando "bc"
echo "1.234e23 9.876e14" | sed 's/e/*10^/g;s/ /*/' | bc
Este código hace lo mismo pero sacar el valor usando perl
echo "1.5 5.0000e-01" | sed -e 's/ /*/' | perl -nle 'print eval $_' 
Para convertir el número al formato...
echo "5.0000e-01" |  perl -nle 'print eval $_'    -> 0.5
echo "5.0000e+01" |  perl -nle 'print eval $_'    -> 50

miércoles, 5 de diciembre de 2012

diff entre directorios, y listado de ficheros

Ni idea, hasta este momento de que diff también se podía usar para el contenido de los directorios

diff /tmp/dir1 /tmp/dir2


ahora... qué pasa si los ficheros en ambos directorios tienen el mismo nombre, pero uno es de texto y otro es un binario, por ejemplo, una es una fuente de código y otro es el fichero binario, pero queremos saber que binario no se ha compilado...

diff <(ls /tmp/dir1)  <(ls /tmp/dir2) 



Comparar listados de ficheros entre un equipo local y un servidor remoto

ssh user@host  ls /tmp/dir1 | diff - <(ls dir2/)