antivirus
Óptima protección antivirus: Soluciones de seguridad en Internet de G Data para PC.

martes, 24 de septiembre de 2019

Liberar espacio ocupado por los documentos, imágenes y vídeos de Telegram (macOS)

Si usamos mucho la aplicación de Telegram es posible que acabemos ocupando mucho espacio del disco con documentos, imágenes y vídeos (que en su mayoría no nos interesan). Para liberar ese espacio podemos ir a cada chat para vaciarlo, o bien entrar a la carpeta donde Telegram lo almacena todo y hacer un borrado completo.

Si elegimos esta segunda opción (¡ojo! se perderá todo), debemos abrir la aplicación Terminal y buscar la carpeta:

/Users/pedro/Library/Group Containers/XXXXX.ru.keepcoder.Telegram/account-00000000000/postbox/media

Los pasos específicos a seguir son:
  1. Cerrar Telegram
  2. En el Terminal, entrar en la carpeta (p.ej. utilizando el comando cd)
  3. Borrar el contenido de la carpeta media para liberar el espacio ocupado (p.ej. utilizando el comando rm)
Es importante tener en cuenta que las carpetas XXXXX.ru.keepcoder.Telegram y account-00000000000 varían de una instalación/cuenta a otra.


jueves, 5 de septiembre de 2019

Configurar vncserver en Ubuntu 19.04

Primero debemos instalar una serie de paquetes del servidor VNC. Después debemos configurarlo, y finalmente establecer el tipo de escritorio a usar.

A continuación se muestra la lista de órdenes utilizadas:
# instalar paquetes necesarios
sudo apt -y install vnc4server

sudo apt install xfce4 xfce4-goodies

# eliminar configuraciones antiguas
cd

rm -rf .vnc

# configurar una clave de acceso
vncpasswd

# comprobar puertos abiertos
vncserver :1
sudo ss -ltn
vncserver :2
tigervncserver -xstartup /usr/bin/xterm
sudo ss -ltn

# matar el servicio (suponemos que está en :2)
vncserver -kill :2

# lanzar el servicio en :2 (usará el puerto 5902)
vncserver :2

# ahora se puede comprobar la conexión
# desde otra máquina con el software cliente

# matamos el servicio para terminar la configuración
vncserver -kill :2

# finalizamos configurándolo para usar GNOME
nano .vnc/xstartup
vncserver :2
El contenido del archivo /home/usuario/.vnc/xstartup es importante, ya que es el que establece qué tipo de escritorio vas a usar al conectarte remótamente. En este caso se configura para usar GNOME:
#!/bin/sh
MODE="GNOME"
unset DBUS_SESSION_BUS_ADDRESS
if [ -e "$HOME/.Xresources" ]
then
    xrdb "$HOME/.Xresources"
fi

if [ "GNOME" = "$MODE" ]
then
    if which gnome-session > /dev/null
    then
        gnome-session --session=ubuntu &
    else
        MODE=""
    fi
fi
Finalmente, sólo hay que usar un cliente VNC para acceder al servidor. Por ejemplo, VNC Viewer tiene versiones para casi cualquier sistema operativo (de escritorio o móvil):
    https://www.realvnc.com/es/connect/download/viewer/

Por supuesto, es importante asegurarse de que el cortafuegos del sistema permita la conexión por el puerto 5902 (o el que corresponda con la configuración).


miércoles, 24 de julio de 2019

Cómo descargar vídeos publicados en Twitter usando el móvil

Si usamos Android, usaremos el navegador para acceder a la página de TWDown  http://twdown.net

Si usamos iOS, tenemos que usar la aplicación MyMedia File Manager, configurada para usar el servicio de TWDown  http://twdown.net


Más detalles en:
https://www.xatakamovil.com/aplicaciones/como-descargar-videos-desde-twitter-en-el-movil

Para descargarlos de Facebook, podemos seguir el siguiente tutorial:
https://www.xatakamovil.com/aplicaciones/como-descargar-videos-de-facebook-desde-el-movil


sábado, 13 de julio de 2019

Herramientas para trabajar con conjuntos de datos (CSV) desde la línea de comandos

En el artículo: "Five Command Line Tools for Data Science"
    https://towardsdatascience.com/five-command-line-tools-for-data-science-29f04e5b9c16
se explican las siguientes herramientas para trabajar, principalmente, con archivos CSV desde el terminal:
  • cURL
  • csvkit
  • IPython
  • csvsql
  • SciKit-Learn Laboratory

viernes, 12 de julio de 2019

Administrar usuarios en Ubuntu desde línea de órdenes

Añadir un usuario al sistema:
    sudo adduser pepito

Comprobar a qué grupos pertenece un usuario:
    groups pepito
Si entre los grupos que devuelve aparece 'sudo', entonces ese usuario puede usar sudo.

Añadir un usuario al grupo de usuarios administradores (dar permiso para usar sudo):
    sudo gpasswd -a pepito sudo

Quitar un usuario del grupo de usuarios administradores (quitar permiso para usar sudo):
    sudo gpasswd -d pepito sudo

Eliminar un usuario del sistema (borrando también su 'home'):
    sudo userdel –remove-home pepito


sábado, 6 de abril de 2019

Qué hacer cuando desaparece la opción de Compartir Internet (iPhone)

Hay ocasiones en que la opción de "Compartir Internet" desaparece de los ajustes de iOS:


La solución en estos casos pasa por entrar en la opción de "Datos móviles":


 y después en "Compartir Internet", para volver a activarlo:

Una vez activado aquí, ya volveremos a tener la opción visible en el primer nivel de los ajustes.


jueves, 4 de abril de 2019

Acceso remoto a una máquina Ubuntu 18.04 desde MacOS (con X11 forwarding)

Instalar una versión actualizada de XQuartz: https://www.xquartz.org/

Configurarlo desde el terminal (del MacOS):

defaults write org.macosforge.xquartz.X11 enable_iglx -bool true

Y finalmente, acceder por ssh a la máquina Ubuntu (remota) y ejecutar una aplicación gráfica:

ssh -X -Y miubuntu.com

gnome-control-center


viernes, 6 de julio de 2018

Formatear una memoria SD (pendrive) bajo Linux

Desde el terminal de Linux podemos formatear cualquier pendrive o memoria SD, tanto con el sistema de ficheros FAT/VFAT, NTFS o EXT4, para ello, haremos uso de la utilidad mkfs con privilegios de superusuario:

sistema de ficheros VFAT:
    sudo mkfs.vfat -n "MiDisco" -I /dev/sdb1

sistema de ficheros NTFS:
    sudo mkfs.ntfs -I /dev/sdb1

sistema de ficheros EXT4:
    sudo mkfs.ext4 -n "MiDisco" -I /dev/sdb1

Si no sabemos el dispositivo concreto, podemos obtenerlo ejecutando la siguiente orden:
    sudo fdisk -l

jueves, 12 de abril de 2018

Asegurar un Ubuntu Desktop con el cortafuegos "ufw"

En Linux el cortafuegos por excelencia es iptables. Sin embargo resulta complejo de usar.

De todas formas, disponemos de herramientas que nos facilitarán la tarea de asegurar nuestra máquina de escritorio. Por ejemplo, podemos instalar "ufw":
apt-get install ufw

Para hacer una configuración lo más segura posible, dejando acceso a SSH, HTTP, HTTPS, haremos:
ufw default deny incoming
ufw default allow outgoing
ufw allow ssh
ufw enable
ufw allow http
ufw allow https
ufw status verbose

Finalmente, para comprobar la configuración de la red, podemos usar varias herramientas (netstat, lsof, nc, nmap). Si optamos por netstat o lsof, haremos:
netstat -tulpn
netstat -natopu
lsof -i -P -n


Si queremos comprobar un puerto en concreto, podemos usar nc:
nc -vn -w 1 105.21.19.6 22
nc -vn -w 1 105.21.19.6 21


Finalmente, podemos usar nmap::
nmap 105.21.19.6
nmap -O 105.21.19.6
nmap -sL 105.21.19.0/24



Más información en:
  https://www.digitalocean.com/community/tutorials/how-to-set-up-a-firewall-with-ufw-on-ubuntu-16-04
  https://ubuntuforums.org/showthread.php?t=1876124
  http://bencane.com/2013/02/25/10-nmap-commands-every-sysadmin-should-know/
  https://hackertarget.com/nmap-cheatsheet-a-quick-reference-guide/

viernes, 19 de enero de 2018

Crear un archivo cuyo nombre sea la fecha y la hora

Desde la Shell de Linux o el Terminal de macOS podemos hacer uso del comando "date" para obtener la fecha y hora, y usarla como nombre de un archivo.

Si por ejemplo queremos introducir unos caracteres a un fichero de texto, y que el nombre de este fichero tenga la fecha y hora actuales, podemos usar:

echo "texto" > "z_`date +%Y%m%d_%H%M%S`"

Si lo que queremos es calcular la fecha y hora actuales, y eso guardarlo como contenido de un fichero de texto, y que además el nombre de este fichero tenga la fecha y hora actuales, podemos usar:

date +%Y%m%d_%H%M%S > "z_`date +%Y%m%d_%H%M%S`"

Y si lo que queremos es crear en una máquina remota ese archivo, podemos ejecutar la orden anterior de forma remota mediante ssh:

ssh  servidor.es  "date +%Y%m%d_%H%M%S > /home/usuario/fichero_`date +%Y%m%d_%H%M%S`"


Finalmente, también es posible hacerlo en Windows (msdos), aunque es un poco más engorroso. En la siguiente web se ofrece una explicación de cómo hacerlo:
https://mascandobits.es/tips/anadir-fecha-y-hora-al-nombre-de-un-archivo-en-la-consola-de-comandos-de-windows/

jueves, 16 de noviembre de 2017

Buscar archivos grandes en un sistema Linux/Unix

Tenemos diversas opciones para comprobar lo que ocupan los directorios/ficheros y para buscar archivos grandes en el sistema de ficheros de Linux/Unix.

Por ejemplo, podemos obtener los 20 archivos más grandes del directorio actual:

    ls -lSr | tail -10

O bien podemos buscar los archivos que ocupan más de 10MB en el directorio actual:

    find . -type f -size +10000k -exec ls -lh {} \;

Y si queremos tener en cuenta también el tamaño de las carpetas que haya en ese directorio, usaremos:

    du -cks * | sort -rn | head

Finalmente, si queremos comprobar lo que ocupa un directorio completo, podemos usar:

    du -ksh .


martes, 4 de julio de 2017

Mostrar el calendario del mes actual (o cualquier año) en el shell [Linux / OS-X]

Aunque hoy día hay aplicaciones web y móviles que nos muestran un calendario, en ocasiones es conveniente disponer de uno lo más sencillo posible. Durante años he usado la aplicación cal del shell de Linux para generar e imprimir calendarios.

Sin embargo, en las últimas actualizaciones la implementación ha cambiado y ya no se puede usar con los modificadores de siempre que hacían que el primer día de la semana fuese el lunes (algo tan simple como eso...). Finalmente he encontrado la forma de generarlos, tanto en Linux como en OS-X.

En Linux tenemos la opción de usar el comando ncal de la siguiente forma:

ncal -C 2018



mientras que bajo OS-X podemos conseguirlo instalando el gcal con brew, y después ejecutando:

brew install gcal
gcal --starting-day=1 -i-  2017




martes, 13 de junio de 2017

Acceso desde shell a MySQL en OS-X

En Linux es muy sencillo trabajar con la herramienta mysql desde el shell.

Sin embargo en OS-X, y usando XAMPP, no es tan sencillo acceder a MySQL desde el shell.

La herramienta queda instalada en /Applications/XAMPP/xamppfiles/bin por lo que para acceder al gestor de BD debemos hacer:

/Applications/XAMPP/xamppfiles/bin/mysql -u root -p

y si por ejemplo queremos restaurar una BD completa, haremos:

/Applications/XAMPP/xamppfiles/bin/mysql -u root -p mibasededatos  <  ./copiaseguridad.sql


miércoles, 10 de mayo de 2017

Manejo básico del shell de Linux



La edición de archivos de texto se puede hacer con la aplicación nano. El cursor se mueve usando las teclas de dirección (flechas). Los cambios se guardan pulsando Ctrl-O y se sale al terminal con Ctrl-X
nano fichero.txt
sudo nano /var/www/pagina.html
sudo nano /etc/contrab

Crear un directorio nuevo:
mkdir carpeta
sudo mkdir /var/www/estilos

Obtener el listado de archivos en el directorio actual:
ls –l

Obtener el listado de archivos en otro directorio:
ls -l /var/www/
ls -l /etc

Moverse a un directorio:
cd /var/www/
cd carpeta

Salir de un directorio al justo superior:
cd ..

Obtener la ruta del directorio de trabajo actual:
pwd

Borrar un fichero:
rm fichero.txt
sudo rm /var/www/pag.html

Borrar una carpeta y todo su contenido:
rm -rf carpeta
sudo rm -rf /var/www/estilos

Copiar un archivo:
cp fichero.txt /tmp/
sudo cp pag.html /var/www/

Ver el contenido de un fichero de texto:
cat fichero.txt
cat /var/www/pagina.html

Comprimir dos archivos en un archivo TGZ:
tar cvfpz fich.tgz archivo1.txt archivo2.txt

Comprimir una carpeta en un archivo TGZ:
tar cvfpz fich.tgz directorio

Descomprimir un archivo TGZ:
tar xvfpz fich.tgz

Buscar un fichero:
find . -name "*.conf"
find /etc -name "certificado*"
find /var/www -name "pagina.html"

Determinar el tipo de un fichero:
file fichero.gif

Cambiar los permisos de un fichero (en este ejemplo, para hacerlo ejecutable):
chmod 755 script.sh

Cambiar el dueño de un fichero o carpeta:
sudo chown usuario:usuario /tmp/fichero.txt
sudo chown usuario:usuario –R /var/www

Mostrar los procesos en ejecución:
ps
top

Comprobar si un proceso está en ejecución, y obtener su número de proceso (pid):
ps aux | grep apache
ps -A | grep nginx

Matar un proceso sabiendo su pid (supongamos que es el número de proceso 16483):
kill -9 16483

Acceder a una máquina remota por SSH:
ssh 10.10.10.15

Ejecutar en una máquina remota un comando:
ssh nombre@10.10.10.15 "cat /proc/cpuinfo"

Copiar un archivo a otra máquina:
scp pag.html 10.10.10.15:/tmp/

Clonar el contenido de una carpeta de una máquina remota en la máquina local:
rsync -avz -e ssh 10.10.10.15:/var/www/ /var/www/

Acceder a una web por HTTP con curl:

Acceder a una web por HTTPS con curl:

Obtener información sobre las interfaces de red:
ifconfig
ifconfig -a

Mostrar qué puertos hay abiertos y qué demonios o aplicaciones los tienen en uso:
netstat -tulpn

Comprobar el estado (abierto/cerrado) del puerto 80:
netstat -tulpn | grep :80

Comprobar qué conexiones hay activas y desde qué IP:
netstat –an | grep :80 | sort
netstat | grep http | wc -l

Comprobar la configuración (las reglas) del cortafuegos:
iptables -L -n -v


Descargar un archivo y a continuación calcular su suma MD5:
md5sum ubuntu-16.10.iso

Determinar cuánto espacio hay ocupado/libre en cada partición:
df -kh

Determinar cuánto espacio ocupa una carpeta:
du -ksh carpeta

Monitorizar Linux con vmstat (sacar resultados cada segundo, durante 5 segundos):
vmstat 1 5

Obtener detalles completos de las CPUs de la máquina:
cat /proc/cpuinfo

Obtener detalles del sistema de memoria de la máquina:
cat /proc/meminfo

Obtener detalles sobre la distribución Linux instalada:
lsb_release -a

Revisar los mensajes del arranque de Linux:
dmesg | more

Obtener la fecha y hora exacta del último reinicio o último apagado:
last reboot
last shutdown

Obtener el número de días que lleva el servidor en funcionamiento:
uptime

Obtener el nombre del fabricante de la placa base:
sudo dmidecode -s system-manufacturer

Obtener el nombre del fabricante de la CPU:
sudo dmidecode -s processor-manufacturer

Obtener la lista de detalles que se puede obtener:
sudo dmidecode -s

Obtener la lista con todos los componentes de hardware detectados:
sudo lshw
sudo lshw -short


Referencias