Metadatos de ficheros con ‘find’

find es una orden presente en GNU/Linux que podemos utilizar para obtener mucha información. Es útil, por ejemplo, para saber qué ficheros se han modificado en un periodo de tiempo, por ejemplo, en las últimas 24 horas: find . -type f -mtime 0 o los ficheros que tienen permisos de escritura tanto para el propietario… Leer más »

Añadir una «mosca» a un vídeo con ffmpeg

Con ffmpeg es muy sencillo ponerle una marca de agua (o 2) a un vídeo. Lo podemos hacer con una imagen transparente que contenga la marca que queramos añadir usando el filtro overlay de ffmpeg de la siguiente manera: ffmpeg -i «VÍDEO» -strict -2 -vf «movie=IMAGEN_CON_MARCA [watermark]; \ [in][watermark] overlay=main_w/2-overlay_w/2:main_h/2-overlay_h/2 [out]» \ -r 25 -b:a… Leer más »

Google authenticator como 2FA en Debian

El año pasado probé Google Authenticator como 2FA en una CentOS. Hoy he usado la información de esa entrada para configurar, ¡por fin!, un 2FA para el acceso por SSH a mi almacenamiento personal. Como la distro es Debian, hay un pequeño cambio: el paquete que debemos tener instalado: apt-get install libpam0g-dev Debemos tener instalado… Leer más »

Error ‘not found’ en la carga de un fichero con init-file de MySQL

De vez en cuando recurro a este mecanismo de MySQL para cambiar la contraseña del administrador. En las distribuciones que tengan activo apparmor es muy probable que no funcione (dependerá, como vamos a ver, de la configuración apparmor) dando el error (que encontraremos en /var/log/mysql/error.log): [ERROR] /usr/sbin/mysqld: File ‘/path_al_fichero/nuevopasswd.sql’ not found (Errcode: 13) (obviamente, estoy… Leer más »

Transparencias de clase sobre «Gestión de usuarios y LDAP»

Continúo con la publicación de viejas transparencias de clase; en este caso, la primera que publico de las clases de Administración de Sistemas Operativos en Red que impartí entre 1999 y 2012 y del que todavía hoy (literal) he tenido que preparar y realizar un examen. Con esta presentación estudiábamos en clase los módulos PAM,… Leer más »

Transparencias de clase sobre «Firewalls»

Continuando con las publicaciones de viejas transparencias de clase de Administración e Instalación de Redes de Computadores, en particular, de las que dedicaba a seguridad en red, hoy toca el turno de la presentación que hice sobre el diseño y configuración de cortafuegos. Para estas transparencias usé como principal fuente de información el libro «Building Internet… Leer más »

Transparencias de clase sobre «Hacking con buscadores»

Continúo con la «saga» de publicaciones de viejas transparencias de clase de Administración e Instalación de Redes de Computadores. Hoy toca el turno de la clase que dedicaba a Hacking con buscadores y que cuya principal fuente de información es el libro «Hacking con buscadores: Google, Bing & Shodan» de Enrique Rando publicado por Informática64 (ahora,… Leer más »

Thepiratebay.se, bloqueo y técnicas para evadirlo

Creo que casi todos conocemos ya que un juez ha ordenado bloquear el acceso a The piratebay desde España. Esta orden afecta a los proveedores de servicio españoles que suelen cumplirlo mediante: Las resoluciones DNS Inspección de paquetes (El que no usen un filtro contra la IP es porque esa IP puede estar asignada para… Leer más »

Guión para cambiar un carácter (o varios) en el nombre de ficheros

Como podéis comprobar todos aquellos que tengáis instalado ownCloud, existe una serie de caracteres que os provocan el error : «Files contains invalid characters…» cuando sincronizáis con el cliente de escritorio. Si optáis por la solución cómoda como es cambiar el nombre, quitando el carácter problemático por otro (‘_’ es una buena opción), en GNU/Linux,… Leer más »

Reutilización del mismo puerto en el lado del cliente

La entrada anterior está escrita desde el punto de vista de los servidores, aunque en el lado del cliente, también podemos reutilizar puertos. ¿Cómo? Pues añadiendo, antes de la función connect de, por ejemplo, este código de cliente, las siguientes órdenes: sock.setsockopt(socket.SOL_SOCKET, SO_REUSEPORT, 1) sock.bind((«0.0.0.0»,3000)) la primera orden es la misma que hemos comentado ya… Leer más »