martes, 26 de febrero de 2013

Auditorias con SAMBA

Para habilitar las auditorias de los directorios y archivos compartidos por SAMBA, debemos colocar dentro del archivo de configuración en las opciones globales lo siguiente:

vfs objects = full_audit
full_audit:prefix = %u|%I|%m|%S
full_audit:success = mkdir rename unlink rmdir pwrite pread connect disconnect
full_audit:failure = none
full_audit:facility = LOCAL7
full_audit:priority = NOTICE

 Luego tenemos que modificar el rsyslog y agregamos la siguiente línea:
local7.* /var/log/samba/audit/log.audit
Con esto le indicamos al syslog que todos los registros originados desde el facility LOCAL7 se almacenarán en /var/log/samba/audit/log.audit.

Reiniciamos rsyslog y samba con el siguiente comando:
service rsyslog restart && service smbd restart

lunes, 25 de febrero de 2013

MySql: Unknown column 'xxx' in 'where clause'

Estaba haciendo una pagina web para que consultara una tabla donde se guardan los usuarios y claves de un sistema, con la siguiente instrucción:

                  $instruccion = "select * from usuario where usuario=$usuario";

Usando PHP y como base de datos MySql, y de repente me encontré con este error:

                   Unknown column 'valor_de_la_variable_$usuario' in 'where clause'

En algunos sitios me hicieron referencia a que la tabla o la base de datos no existe, seguí revisando y me invente esto y resolví el problema:
                   $tipobusqueda="usuario";
                   $terminobusqueda = addslashes($login);
                   $instruccion = "select * from usuario where ".$tipobusqueda." like '%".$terminobusqueda."%'";


También me di cuenta que la tabla se llama usuario y el campo primario de esa tabla es del mismo nombre, cosa que pudiera dar conflictos.

viernes, 22 de febrero de 2013

Validar una dirección de correo electronico usando PHP

Por allí en algunas paginas vi este código de validación de direcciones de correo electrónico usando PHP:
function verificar_email($email)
    {
    if(preg_match("/^([a-zA-Z0-9])+([a-zA-Z0-9\._-])*@([a-zA-Z0-9_-])+([a-zA-Z0-9\._-]+)+$/", $email);
    {
    return true;
    }
    return false;
    }
    if(verificar_email($email))
    {
    echo "correo valido";
    }
    else
    {
     echo "correo no valido";
    }

Controla la velocidad con Delay pool para squid 3

Clase 2

La clase dos que consiste en un canal común con 256 canales individuales. Es decir tenemos un canal global y dentro de él otros 256 canales que se aplican a las máquinas de una red de clase C. Ahora vamos a ver otro ejemplo con dos canales, en este caso ambos de de clase 2. Ahora también que el tráfico de la red local no tenga límite de transferencia, ni global ni por IP, mientras que para las conexiones a internet vamos a utilizar un total de 256Kbits/s y a cada máquina de la red le asigna un máximo de 64kbits/s.
Un ejemplo clase 2
delay_pools 2
delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
acl red_local src 192.168.0.0/24
delay_access 1 allow red_local

delay_class 2 2
delay_parameters 2 32768/1024 8192/1024
acl resto all src 0.0.0.0/0.0.0.0
delay_access 2 allow resto


Clase 3

La clase tres que define un canal común que contiene 256 canales de red, 65536 canales individuales. Muy parecida a la clase dos pero par redes de clase B.
Hay que tener en cuenta que los clientes están limitados por el tamaño del canal más pequeño, por lo que no tiene sentido que el canal común tenga un tamaño menor que los canales individuales.
Un ejemplo clase 3
delay_pools 3
delay_class 1 1
delay_class 2 1
delay_class 3 1
delay_parameters 1 -1/-1
delay_parameters 2 131072/8192
delay_parameters 3 65536/8192
acl jefes src 192.168.5.1-192.168.5.50/32
acl subjefes src 192.168.5.51-192.168.5.99/32
acl resto src 0/0
delay_access 1 allow jefes
delay_access 2 allow subjefes
delay_access 3 allow resto

Limitar el ancho de banda en una franja de horario
acl todos src 0/0
acl laboral time 08:30-16:30

delay_pools 2

delay_class 1 2
delay_parameters 1 -1/-1 -1/-1
delay_access 1 allow todos

delay_class 2 2
delay_parameters 2 131072/8192 65536/8192

delay_access 2 allow laboral
delay_access 2 deny !laboral
delay_access 2 allow todos