Archive for the ‘ Trucos ’ Category

Prohibir archivos en #samba con veto files

A poco mas de 6 años trabajando en el área de informática nunca habia tenido problemas de virus en las redes que me toco adminsitrar … hasta este momento.

El jueves pasado reportaron al área de soporte la detección de un virus en una PC, obviamente el antivirus estaba haciendo su chamba y yo ignore el reporte pues aquí me toca hacer código PHP

Mas tarde, cuando navegaba en algunas carpetas de red encontré un montón de archivos ejecutables raros y seguí ignorándolos por lo que me dispuse a ir navegando entre los directorios sin problema alguno pues uso gentoo y los virus no representan amenaza alguna.

Paso la hora de la comida y el de soporte me comento que no podía deshacerse del virus y que ya se había expandido por todas las unidades de red mapeadas en las computadoras infectadas (algo que ya había detectado).

No me quedo mas remedio que cerrar Eclipse y poner manos a la obra.
Para rastrear quién estaba esparciendo el virus me valí de las herramientas que samba incluye.

Lo primero fue eliminar manualmente los archivos ejecutables así como los de configuración.
Esta prueba resultó totalmente inútil pues como era de esperarse el S.O. nos bloequeo el acceso a escritura debido a que estaba en uso.

Para saber quién estaba ejecutando esos archivos raros, me conecte por SSH al servidor samba y ejecuté:

smbstatus

La salida de ese comando me mostró la relación de usuarios y archivos abiertos así pude detectar fácilmente quienes tenían el proceso corriendo. Así que le dije al de soporte que sacaras esas computadoras de la red y que las vacunará.

La siguiente prueba era borrar nuevamente los archivos a mano, cosa que se dejo sin problemas pero el archivo se volvía a crear, lo cuál indicaba que había otras computadoras corriendo ese proceso desde alguna otra unidad ya sea el C: o bien una USB, así que decidí reconfigurar samba para evitar que archivos .exe y .inf sean creados.

Edite el archivo smb.conf:

vi /etc/samba/smb.conf

Y en la sección [ global ] agregue esta línea

veto files = /*.exe/*.inf/

Recargue samba

/etc/init.d/samba reload

Y listo busqué y borre todos los ejecutables y archivos inf y el virus ya no volvía a copiarse ni expandirse por la red.
Ya como ultimo procedimiento fue vacunar las computadoras con windows para evitar cualquier brote de infección.

Agregar un consecutivo en consulta mysql

Hay ocasiones en las que queremos agregar un número consecutivo a nuestras consultas de SQL y no me refiero al ID de alguna tabla mas bien a un número volátil que sirva para un control mientras se trabaja con el resultado de esa consulta.

Me he encontrado que con MySQL podemos generar ese número usando variables de sesión, la forma de usar es muy sencillo, aquí un ejemplo:

SELECT  @numeroConsecutivo:=@numeroConsecutivo+1  Consecutivo ,  
tbl.campo 
FROM  miTabla tbl, 
(SELECT @numeroConsecutivo:=0) r

y así tendremos nuestros enumerados.

#mysql insert into set

Acabo de descurbir via Twitter que en mysql pueden hacerse inserts de este modo:

INSERT INTO tabla SET campo1 = 'valor1', campo2 = 'valor2'

Muy interesante revisaré si hay algún aumento o disminución de rendimiento al usar esta forma.

Teclado numérico no funciona en #Gnome

En la compu del trabajo, estaba haciendo las labores cotidianas cuando de repente note que el teclado numérico de mi teclado no funcionaba, es decir no escribía los números, por lo que me puse a revisar cuál era el problema.

Lo primero que revise fue que tuviera pilas, ya que tengo un teclado wireless, pero comprobe que si tenían carga las pilas.

Después procedí a cambiar la distribución de teclado en las opciones del gnome, me desconecte de la cuenta y nuevamente en GDM puse mi usuario y contraseña la cuál tiene dígitos y pude notar que todo estaba en la normalidad, cuando quise usar la calculadora note que nuevamente que los números no funcionaban, así que me cambie a la consola #1 (Ctrl + ALT + F1) para probarlo y que sorpresa cuando pude escribir números, por lo que llegue a la conclusión de que lo que anda mas es la configuración de Gnome.

Después de esta grandiosa deducción, regrese el teclado con la distribución que estaba usando antes y en las pestañas de esa ventana vi una muy interesante: Teclas del ratón, le di click a dicha pestaña para ver que había y note que estaba marcada una opción que decía, Permitir controlar el puntero del mouse con el teclado, así que la desmarque y el teclado numérico volvio a funcionar.

Aún no me explico como esque esa opción se activo si no he actualizado el sistema ni hecho alguna modificación a la configuración de GNOME

Listar el contenido de un tarball

En caso de que necesiten conocer que archivos contiene un archivo tar / tar.gz / tar.bz2

Solo usen el siguiente comando:

Para los tar

tar -tvf archivo.tar

Para los tar,gz

tar -tzvf archivo.tar.gz

Para los tar.bz2

tar -tjvf archivo.tar.bz2

para mas detalles sobre esto

man tar

saludos

ON DUPLICATE KEY UPDATE

Esta instrucción de MySQL la pongo para que no se me olvide ya que me ha pasado un par de veces que tengo que consultar el manual para acordarme de la sintaxis.

Básicamente lo que hace es insertar un registro en la tabla y en caso de que el campo llave ya exista, hará un update.

insert into tblNombre (campoLlave, campoCadena,campoNumerico) values (1,'Una cadena simple',10)
on duplicate key update campoCadena='Se hizo Update', campoNumerico=10

No creo que sea necesario una explicación :P la instrucción es clara  y si no click aquí

saludos

Agregar llave a un tabla con datos de MySQL

De las bases de datos de Access que convertí a MySQL me encontré con un pequeño problema de rendimiento y es que como las tablas no tenían indices las consultas tardaban mucho, por lo que decidí agregar unos campos para el ID y que este mismo fuera mi llave primaria y para ello utilice la siguiente sentencia de MySQL.

ALTER TABLE CDEMAS ADD ID_TBL INT(3)
           UNSIGNED AUTO_INCREMENT,
           ADD PRIMARY KEY(ID_TBL);

Con esto ya tendrán un campo llamado ID_TBL como llave primaria y con el consecutivo comenzando desde 1

Espero sea útil para ustedes.

Auf Wiedersehen

Truco para evitar el login en Linux

Este truco es bueno para las ventanas de mantenimiento, consta de NO permitir el login de los usuarios al sistema operativo, tan solo hay que ejecutar el siguiente comando como root y listo:

 # touch /etc/nologin

y listo cuando alguien intente entrar al sistema marcará un error de login incorrecto. Pero para que el usuario no lo vea como un error, podemos dejar un mensaje, sería de aplicar este comando:

 # echo "Sistema en mantenimiento, favor de no reportarlo" > /etc/nologin

Para regresar a la normalidad basta con eliminar el archivo

 # rm > /etc/nologin

Cuando hagan esto asegúrense que hay al menos una sesión de root iniciada ya que si no, no podrán entrar para eliminar el archivo.

Anular alias en comandos de linux

Todos los que usamos linux sabemos qué es y para que sirve un alias, pero en ocaciones nos interesa ejecutar algún comando pero que no este afectado por la declaración del alias. Entonces para no modificar el archivo de configuración debemos de anteponer la diagonal “\”

ejemplo:

# \ls

#\rm *

y con esto se ejecutará el comando tal y cual es, sin hacer caso a la declaración del alias.

Hacer twitts desde la consola

Esto que podré a continuación será útil cuando sientan necesidad de hacer un twitt y lo único a la mano es la consola o terminal.

Para hacerlo desde la consola es necesario instalar curl, ya lo saben para gentoo es:

emerge curl

utiliza el gestor de paquetes de tu distribución.
Y para actualizar su cuenta de twitter es: 

curl -u yourusername:yourpassword -d status="Your Message Here" http://twitter.com/statuses/update.xml

y listo con eso lo habrán actualizado.