Si conectas a través de Teamviewer a un equipo con el antivirus Kaspersky Endpoint Security instalado, comprobarás que no puedes interactuar con su interfaz: podrás ver la ventana del antivirus pero al intentar hacer clic sobre ella verás que no pasa nada. Esto se debe a que el antivirus tiene activada la autoprotección.
Cambiar esquema de color htop
Es posible que al conectar por SSH y hacer htop no se vean los totales y porcentajes de uso de memoria y procesador, como podemos ver en esta imagen:

Esto es por la forma en la que terminal muestra el color gris, tal y como explica su autor en stackoverflow.
Podemos arreglarlo de dos maneras diferentes para obtener este resultado:

Cambiar codificación del contenido de ficheros en Linux
Ya hemos visto anteriormente como cambiar la codificación del nombre de ficheros en Linux Ahora veremos como cambiar la codificación de su contenido con la ayuda del comando iconv. La mayoría de las veces el cambio que necesitaremos será de LATIN1 a UTF8 o viceversa.
Primero debemos saber la codificación actual del archivo con el comando file:
file archivo.php
archivo.php: PHP script, ISO-8859 text
Vemos que es ISO-8859, que corresponde a LATIN1.
Comprobamos con iconv -l las posibles codificaciones que soporta, y vemos que ISO-8859 exactamente no está, pero sí ISO-8859-1, ISO-8859-2, etc. Usaremos ISO-8859-1 que corresponde a LATIN1. Para pasarlo a utf8 usaremos:
iconv -f ISO-8859-1 -t utf8 archivo.php -o archivo-nuevo.php
- -f: --from-code, la codificación actual del fichero
- -t: --to-code, la codificación que deseamos tener
- -o: --output, el fichero con la nueva codificación. Si ejecutamos el comando sin este parámetro mostrará el fichero por pantalla pero no hará nada con él.
En el ejemplo también podriamos haber usado LATIN1 en lugar de ISO-8859-1 para hacer la conversión.
En github tenemos un script muy útil para cambiar la codificación de ficheros html, php, css y js recursivamente, borrando el original:
find ./ -name "*.php" -o -name "*.html" -o -name "*.css" -o -name "*.js" -type f |
while read file
do
echo " $file"
mv $file $file.icv
iconv -f ISO-8859-1 -t UTF-8 $file.icv > $file
rm -f $file.icv
done
Podemos modificarlo facilmente para otras extensiones de archivo.
Codificación de acentos HTML
Otro problema habitual lo tenemos con el html interpretando mal los acentos.
En estos casos cambiaremos las vocales acentuadas y ñ por sus equivalentes HTML:
find . -type f -name '*php' -exec sed -i 's/á/\á/g' {} +
find . -type f -name '*php' -exec sed -i 's/é/\é/g' {} +
find . -type f -name '*php' -exec sed -i 's/í/\í/g' {} +
find . -type f -name '*php' -exec sed -i 's/ó/\ó/g' {} +
find . -type f -name '*php' -exec sed -i 's/ú/\ú/g' {} +
find . -type f -name '*php' -exec sed -i 's/ñ/\ñ/g' {} +
También puede ayudarnos el comando recode:
echo 'avión' | recode ..html
avión
echo 'avión' | recode html/..
avión
Registro de modificaciones en MySQL
Ya hemos visto como activar el log de MySQL para tener un fichero con todas las consultas realizadas a la base de datos.
Además de esto, también podemos guardar en una tabla un registro de cambios en la base de datos, como el usuario, fecha y campo modificado. Esto se hace usando los triggers o disparadores de MySQL.
Activar triggers en phpmyadmin
- Seleccionamos nuestra base de datos y pulsamos la pestaña Triggers o disparadores que aparece arriba a la derecha.
- Escogemos agregar disparador y nos aparecerá una ventana como esta, pero vacía:
Los datos que debemos indicar son:
- Nombre del disparador: Un nombre para identificar al disparador
- Tabla: La tabla de nuesta base de datos de la que queremos registrar los cambios
- Tiempo: BEFORE o AFTER. Indica si el trigger se ejecutará antes o después de ejecutarse la consulta.
- Evento: INSERT, UPDATE o DELETE. Aquí indicamos cuando queremos que se ejecute el trigger: cuando haya una creación de nuevo registro, una actualización o un borrado en la tabla indicada anteriormente.
- Definición: Indicamos la consulta que queremos ejecutar cuando se cumplan las condiciones indicadas anteriormente
- Definidor: El usuario MySQL que creó el trigger. Puedes dejarlo en blanco.
En este caso, justo después de que se inserte un nuevo registro en la tabla agenda, se ejecutará nuestra consulta:
INSERT IGNORE INTO agenda-log.cambios (id,user) VALUES (NEW.id,USER())
Esto insertará en la tabla 'cambios' de la base de datos 'agenda-log' un nuevo registro con el id del usuario creado y el nombre e IP del usuario MySQL que lo creó.
Registrar fecha y hora de los cambios
Si queremos saber también la fecha y hora del cambio, debemos añadir, en la tabla donde registramos los cambios (cambios en nuestro ejemplo) un nuevo campo de tipo timestamp y como valor por defecto CURRENT_TIMESTAMP
Ejecutar facilmente programas como administrador en Windows 7 y Windows 10
En Windows tenemos un atajo de teclado poco conocido para ejecutar rapidamente como administrador aplicaciones desde el menú inicio:
- Haz click en Inicio y teclea el nombre del programa que buscas. Por ejemplo cmd para ejecutar la línea de comandos
- Abre el programa pulsando esta combinacion de teclas: CTRL + SHIFT + ENTER
- El programa se abrirá igual que si hubieses hecho clic derecho, ejecutar como administrador.
Este atajo funciona incluso desde Windows Vista.
Además, desde la versión 1803 de Windows 10 (la April Update de 2018) este atajo funciona incluso desde el menú de ejecutar
Liberar espacio en Windows 7 reduciendo el tamaño de la carpeta WinSxS
Si tenemos Windows 7 actualizado podemos comprobar que una de las carpetas que más ocupan es c:\Windows\winsxs.
En esta carpeta se guardan las versiones anteriores de actualizaciones de Windows, para poder volver atrás en caso de tener problemas con alguna y desinstalarla. Así esta carpeta puede llegar a ocupar muchos gigas y convertirse en un problema a largo plazo si tenemos espacio en disco limitado.
Leer más...
Auditoria de archivos en Samba Linux
Actualización: Desde la versión de samba 4.13.14 de noviembre de 2021 en Ubuntu 20.04, se cambió el nombre de algunas operaciones (como mkdir por mkdirat), por lo que el contenido del fichero audit.conf daba problemas: registraba el error "Could not find opname" en el log especifico del equipo cliente samba y registraba TODAS las operaciones realizadas, por lo que en poco tiempo el audit.log ocupaba gigas. Hemos actualizado el artículo con la sintaxis correcta.
Si tenemos un servidor de archivos donde se manejan datos personales, con la entrada en vigor del RGPD (la nueva LOPD), es obligatorio mantener un registro de actividad de los usuarios: debemos saber cuando y quien accede a cada archivo y qué hace con él.
Para esto podemos añadir a Samba el módulo vfs_full_audit. Esto es un VFS (Stackable VFS Modules), que son módulos que añaden funcionalidades extra a Samba desde la versión 3, como este full_audit, que nos permite registrar toda la actividad de los usuarios Samba.
Vamos a ver como activarlo:
Probar conexión JDBC a MySQL desde línea de comandos Linux
Podemos probar facilmente una conexión JDBC a MySQL desde línea de comandos siguiendo estos pasos:
Descargar sqlline y descomprimir:
tar xvf jline-sqlline-mysql-connector.tgz
cd jline_sqlline__mysql_connector
Ejecutamos sqlline:
java -Djava.ext.dirs=. sqlline.SqlLine
Ahora estamos dentro de la consola de sqlline, y podremos probar la conexión así:
!connect jdbc:mysql://hostname:port/db username password
Por ejemplo:
!connect jdbc:mysql://localhost:3306/appbd?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true appuser apppassword
Connecting to jdbc:mysql://localhost:3306/appbd?useUnicode=true&characterEncoding=UTF-8&autoReconnect=true
Connected to: MySQL (version 5.6.39)
Driver: MySQL-AB JDBC Driver (version mysql-connector-java-5.1.17-SNAPSHOT ( Revision: ${bzr.revision-id} ))
Autocommit status: true
Transaction isolation: TRANSACTION_REPEATABLE_READ
0: jdbc:mysql://localhost:3306/appbd>
Saldremos con el comando !closeall.
Fuente:
Quitar mensaje de Internet Explorer: Solo se visualiza el contenido seguro
Es posible que al utilizar Internet Explorer, al entrar a algunas páginas, aparezca constantemente el aviso Solo se visualiza el contenido seguro.
Nos da la opción de Mostrar todo el contenido, pero así se actualiza la página y vuelve a mostrar el aviso una y otra vez.
Buscar y reemplazar en VIM desde Linux
Para buscar y reemplazar una cadena de texto en VIM, el editor de línea de comandos de Linux, debemos pulsar los dos puntos (:) para acceder al modo de comandos y escribir una línea como la siguiente:
1,$ s/viejo/nuevo/g
En este ejemplo buscaría dentro del fichero la cadena "viejo" y la sustituye por "nuevo".