Herramientas

Copias mediante rsync

Algunas notas sueltas, pendientes de explicación

Si necesitamos que rsync se conecte a la máquina remota con una identidad concreta, podemos forzarlo con la siguiente opción

rsync -e 'ssh -i /home/<usuario>/.ssh/<identidad>'

Solemos encontrar esta opción cuando lo que queremos es copiar archivos de usuarios específicos. Sin embargo, esto no es necesario, ya que mediante el uso de «sudo» podemos acceder a archivos de cualquier usuario y con las opciones -og podemos preservar la propiedad de usuario y grupo de cada archivo. Esto es especialmente conveniente cuando, estamos haciendo copias de seguridad de directorios de varios usuarios.

Respecto al uso de sudo, y aunque parezca una obviedad, para no liarnos conviene tener en mente en qué máquina necesitamos usarlo.

Si necesitamos usar sudo en la máquina local, basta con ejecutar sudo rsync (si queremos automatizar esta tarea y evitarnos tener que autenticar cada vez, ver lo referido al archivo sudoers)

Si lo que queremos es que rsync se ejecute con sudo en la máquina remota, deberemos ejecutar el comando con la siguiente opción:

el siguiente parámetro:

--rsync-path="sudo rsync"

Sin embargo, nos encontrarmos con la necesidad de realizar la autenticación de algún modo en la máquina remota. Hay varias maneras de hacer esto pero la más sencilla consiste en modificar el archivo sudoers para que no sea necesario realizar la autenticación.

Primero, identificamos la ruta en la que se encuentra rsync:

which rsync
/usr/bin/rsync

Ahora editamos el archivo /etc/sudoers y añadimos la siguiente línea:

sudo visudo

<usuario> ALL=NOPASSWD:<ruta a rsync>

que básicamente significa que no se pida la contraseña para el usuario en cuestión cuando se esté ejecutando el comando especificado. Es una manera de restringir la ejecución sin contraseña y con privilegios de administrador sólo al caso que necesitamos, evitando crear un agujero más grande de lo estrictamente necesario.

No olvidemos que la modificación del archivo sudoers debe hacerse siempre con el comando visudo. Básicamente, este comando invoca un editor de texto convencional pero con verificación de sintaxis, lo que previene errores de configuración que podrían bloquear operaciones para las que se necesita privilegios de administrador, dejándonos, en el peor de los casos, con un sistema roto. El nombre visudo proviene del clásico editor vi. Sin embargo, es posible configurar el sistema para utilizar otros editores más cómodos como nano. De hecho, ésta es la configuración por defecto en Ubuntu.

A todo esto, la ruta a rsync suele ser:

/usr/bin/rsync

Nota: si bien esta modificación del archivo sudoers suele hacerse en la máquina remota, que es donde principalmente queremos ahorrarnos tener que escribir la contraseña, también puede ser útil hacerlo en la máquina local cuando lo que queremos es ejecutar un script de manera automática (por ejemplo, para automatizar la creación de copias de seguridad) que necesite acceder a archivos protegidos en la máquina local.

Publicado por David en Herramientas, Linux, SSH, 0 comentarios
Gestión de descargas

Gestión de descargas

Descargar de manera automatizada un conjunto numerado de archivos

curl https://uningenieroencasas.es/fotos/foto-[1-50].jpg -o foto-#1

 

Publicado por David en Herramientas, Linux, 0 comentarios
De como me independicé de Google (ii) – Navegar sin temor…

De como me independicé de Google (ii) – Navegar sin temor…

… en el mar es lo mejor 𝅘𝅥𝅰  𝄞 ¿Alguien se acuerda de la canción de los payasos de la tele? Qué tiempos aquellos… en los que se podían surcar los procelosos mares de internet sin tener a un señor de negro subido a la chepa. Por cierto, dejaré un enlace a la canción al final del artículo, por eso de la nostalgia, y tal…

El navegador

Empecemos por el principio. Ahora bien, no voy a meterme a hacer una comparativa en cuanto a navegadores. Si quieres una, hay miles en internet (Si no me crees puedes buscarlas en Google, je, je…). Aquí me limitaré a mostrar algunas conclusiones. Y en este punto lo tengo claro: Mozilla Firefox.

Es un proyecto de código abierto, apoyado por una comunidad madura y comprometida, con un desarrollo de largo recorrido, continuo y con frecuentes actualizaciones. Está construido desde su base con la privacidad como objetivo y aunque quizás no sea de los más espectaculares en rendimiento y prestaciones, funciona francamente bien. Por algo es el navegador predeterminado en Ubuntu y para mí es más que suficiente.

Respecto a los navegadores basados en Chrome diré que hay algunos que son estupendos, pero todos tienen un pequeño inconveniente: y es que están basados en Chrome. Y sí, ya sé que a partir del código abierto de Chrome se puede hacer un buen navegador que no comprometa la privacidad y tal. Pero ya desde el título de esta entrada dejo claro que lo que quiero es alejarme lo más posible de Google así que… ajo y agua.

Migrar desde Chrome a Firefox resulta muy sencillo, ya que el propio Firefox permite realizar la importación de todos los datos de navegación de un navegador a otro. Sin embargo, una de las cosas que quizás tiene peor resueltas es el tema del uso de varios perfiles dentro de una misma cuenta, algo que a mí me resulta muy útil. De hecho, las opciones para crear perfiles y cambiar de uno a otro no están a la vista. Es necesario ingresar en una página local introduciendo la expresión about:profiles en la barra de direcciones. Una solución un tanto rara, la verdad, pero que se arregla añadiendo un marcador a la barra de marcadores. No es elegante pero funciona.

Ni que decir tiene que si queremos mantener una navegación suficientemente privada no basta con utilizar este navegador (ni cualquier otro). Por defecto Firefox adopta medidas como la ocultación de la ubicación y el bloqueo de rastreadores, sin embargo es importante tener mucho cuidado a la hora de instalar complementos que puedan comprometer la privacidad.

El buscador

Pero quizás, incluso antes de pensar en cambiar de navegador merece la pena reflexionar sobre el buscador. ¿Alguien se acuerda de Altavista? ¿O de Yahoo? ¿Cuándo y cómo llegamos a convencernos de que buscar en Internet era equivalente a buscar en Google? Tan acostumbrados estamos que da escalofríos sólo pensarlo.

Y no es cuestión baladí. Aquí conviene tener presente que la privacidad va en dos sentidos (por lo menos): que los buscadores no almacenen nuestras búsquedas es sólo una parte. Luego está la neutralidad de los resultados que el buscador arroja, incluyendo publicidad, o resultados que el buscador deduce que son «más relevantes» para nosotros, como les gusta llamar a estas compañías el hecho de mostrarnos aquella información que más fácil nos va a entrar para satisfacer a un tiempo nuestros impulsos y sus intereses.

(Dejo este enlace a un artículo que me resultó bastante interesante)

Igual que antes, no me enredaré en comparativas y me limitaré a señalar a DuckDuckGo como la opción más interesante. Merece la pena configurarlo como buscador por defecto. Por cierto, existe un complemento para Firefox llamado DuckDuckGo Privacy Essentials que resulta muy interesante instalar. Entre otras cosas, nos va informando de todos los rastreadores y anuncios que nos va bloqueando conforme navegamos, lo cual no hace sino contribuir a ponernos los pelos de punta al hacernos conscientes de hasta qué punto las grandes plataformas se dedicaban a cotillear en nuestras cosas cuando aún no usábamos estas herramientas.

¿Y para el móvil?

En el caso del móvil tenemos tres navegadores que merece la pena utilizar para reemplazar tanto a Chrome como al navegador que traiga nuestro móvil por defecto y que, por cierto, suele ser un churro:

  • Firefox para Android: Muy similar al de escritorio y abierto a múltiples configuraciones. Entre otras cosas, permite sincronizar los datos de navegación y las contraseñas con el resto de navegadores Firefox en otros dispositivos. Muy conveniente, para quien le convenga, claro.
  • Firefox Focus: Una versión del anterior minimalista y muy ligera, preconfigurada para la mayor privacidad y muy cómoda para navegar sin distracciones aunque tenga menos características.
  • DuckDuckGo Privacy Browser: Como podemos imaginar, un navegador que trae por defecto todas las opciones de privacidad habidas y por haber. Pero lo más interesante es que incorpora un widget de búsqueda similar al típico que viene por defecto con Android y que resulta perfecto como sustituto. Sólo por eso ya merece la pena instalarlo, aunque luego usemos otro navegador.

Edición de mayo de 2022: Recientemente he sabido acerca de un acuerdo de sindicación entre DuckDuckGo y Microsoft que impide a la primera compañía bloquear los rastreos por parte de la segunda. Al parecer, esto ocurriría exclucivamente en el navegador de Android y no en los de escritorio, siempre según fuentes de Duckduckgo, claro. Por lo tanto, la mejor opción para Android sigue siendo, siempre en mi humilde opinión, Mozilla Firefox. No obstante, no está de más tener también instalada la aplicación móvil de DuckDuckGo para disponer del widget de búsqueda como sustituto del de Google.

Y en el próximo capítulo espero dedicarme al peliagudo tema de los calendarios y las agendas de contactos. Uno de los anzuelos que más enganchados nos mantienen al ojo que todo lo ve.

Nos vemos pronto. Y de momento, ahora sí, para los nostálgicos, tal y como estaba prometido… la canción:

Publicado por David en Blog, Herramientas, Linux, Seguridad, 0 comentarios
Aquel maldito indicador de Dropbox…

Aquel maldito indicador de Dropbox…

Los que llevamos un tiempo funcionando con Dropbox en ubuntu hemos tenido ocasión de ver diversos comportamientos raros con el indicador de la aplicación en el área de notificación. En ocasiones, directamente desaparecía. Otras, el menú no se despliega o no funciona. Normalmente, rebuscando un poco por la red termino encontrando una solución pero, inevitablemente, para la próxima vez que me encuentro con el mismo error en una nueva instalación ya me he olvidado.

Por cierto, decir que escribo esto justo después de instalar la versión 21.10 de Ubuntu y eso me lleva pasando por lo menos desde hace unos seis o siete años… y ahí sigue. Haciendo un poco de historia y revolviendo un poco por Internet, parece que la cosa comenzó en la versión 14.04 y afectaba a los escritorios no Unity. Lo malo es que cuando Unity desapareció definitivamente nadie se molestó en reparar el paquete con lo cual el error ha seguido propagándose hasta nuestros días. Afortunadamente tenemos dos noticias, una buena y otra mejor.

La buena noticia es que la reparación es bastante sencilla y que se aplica en unos minutos. Y la mejor, es que los mantenedores de la distribución Ubuntu Mate han parcheado el paquete en sus repositorios oficiales desde la versión 16.04. Así que tenemos dos maneras de solucionar la cosa:

1.- Aplicamos el apaño a mano, o bien…

2.- …instalamos directamente el paquete de Ubuntu Mate en lugar del habitual. Su nombre es caja-dropbox

Por cierto, que esta información está tomada de este artículo pero por si acaso dejo también el código del apaño aquí a mano. Nunca se sabe…

cp ~/.config/autostart/dropbox.desktop ~/.config/autostart/start_dropbox.desktop
sed -i 's/^Exec=.*/Exec=dbus-launch dropbox start -i/' ~/.config/autostart/start_dropbox.desktop
dropbox autostart n
mkdir -p ~/.local/share/applications/
cp /usr/share/applications/dropbox.desktop ~/.local/share/applications/
sed -i 's/^Exec=.*/Exec=dbus-launch dropbox start -i/' ~/.local/share/applications/dropbox.desktop
Publicado por David en Blog, Herramientas, Linux, 0 comentarios
De como me independicé de Google (i) – No sos vos, soy yo.

De como me independicé de Google (i) – No sos vos, soy yo.

Hace unos meses me hacía eco de una curiosa noticia. Google iba a empezar a tomarse la libertad de monitorizar el contenido que mantenemos en Drive por si acaso guardamos algo que ellos puedan considerar «inadecuado». Y en tal caso, podría tomar partido con acciones que irían desde restringir el acceso al contenido ofensivo hasta eliminarlo. Y recordemos… que cuando Google habla de «contenido» se está refieriendo a nuestro material (nuestras fotos, por ejemplo)

Un poco de memoria

Que Google lleva años pasándose nuestra privacidad por el arco del triunfo y que sabe más de nuestra intimidad que nuestro terapeuta no es ningún secreto. Y que nosotros le hemos ido consintiendo cada vez más a cambio de sus servicios «gratuitos», tampoco. No estará mal hacer un poco de memoria:

Antes que nada Google fue el buscador que todos adoptamos ilusionados de manera totalmente acrítica hará como unos veinte años. Un buscador que, por cierto, toma nota de cada búsqueda que hacemos y selecciona cuidadosamente los resultados que nos muestra para que sean «relevantes» para nosotros. Un nosotros que pronto se materializó en una dirección de correo Gmail, también «gratis», alojada en sus servidores, y que se convirtió a efectos prácticos en el carné de identidad dentro del universo Google. Después llegó Chrome, ese estupendo navegador. Y lo digo sin ironías: rápido, ágil, lleno de prestaciones, que nos permitía trasladar nuestra experiencia de navegación de una máquina a otra de manera transparente a golpe de recopilar información sobre cada uno de nuestros gustos construyendo así nuestro «perfil». Y, como no, para todos los que nos afanábamos manejando las agendas de aquellas primeras «palmtop» (hay que ver qué mal envejecen algunos términos) llegaron en nuestro auxilio los servicios de Google Calendar. Menos mal que en cuanto la tecnología de aquellos primeros computadores de mano con teléfono integrado, a los que de pronto todos empezamos a denominar con el hortera anglicismo de «smart phone», empezó a madurar, apareció Google de nuevo con su sistema operativo «gratuito» Android para hacerlos funcionar. Y tan bien funcionaron que pronto integramos toda nuestra agenda, tanto telefónica como de email en Google Contacts, lo que además nos permitía pasar de un teléfono a otro sin perder un solo número. Y hacíamos copia de seguridad de todos nuestros datos en la nube de Google Drive, incluyendo las fotos. Y felices dijimos adiós a aquellos «carísimos» navegadores TomTom y Garmin, adoptando los mapas de Google Maps y su servicio «gratuito» de navegación. Y hubo tal regocijo que pronto todos quisimos que formara parte permanente de nuestro vehículo, así que llegó Android Auto para instalarse en nuestros coches. Y suma y sigue, y seguro que me dejo cosas. ¡Y lo que está por venir!

Algo pasa con Google

Google sabe qué nos gusta, qué miramos, qué nos entretiene, qué nos interesa, con quién nos comunicamos, a qué nos dedicamos, qué horarios tenemos, por dónde nos movemos, adónde viajamos o vamos de vacaciones, dónde vivimos nosotros, nuestra familia y nuestros amigos, cuánto tiempo pasamos en la panadería, en ese bar de mala muerte o en casa de fulanita, dónde caí borracho por última vez o lo poco que salgo de casa y el tiempo que hace que no me como un rosco, a que manifestación decidí ir, o si es que quizás preferí no ir…

Vamos, que no es de ayer precisamente el que tengamos sobrados motivos para recelar de esta compañía. Pero lo de Google Drive… no sé cómo decirlo, ha sido la puntilla, la gota que ha colmado el vaso. Ya sólo faltaba que el día que por la razón que sea lleguen a la nube aquellas fotos que nos hiciéramos mi churri y yo aquel verano en el Pirineo, cuando la euforia debida seguramente a la altitud nos llevó a pensar que era buena idea inmortalizar el momento de chapuzarnos en pelotas en un ibón, llegue el Sr. Google a meter las narices y les eche un vistazo no vaya a ser que le parezcan o le dejen de parecer lo bastante «adecuadas» para existir en su exquisita nube. Como si ese maldito criterio moralista y puritano que lo está embarrando todo tuviera que perseguirnos también a nuestra alcoba digital. Bueno, pues hasta aquí hemos llegado. Igual que hay cosas en la vida que es mejor no ver, también hay experiencias por las que es mejor no tener que pasar. Y para los que penséis que exagero, molestaros en echar un vistazo a sus políticas, sobre todo la parte en la que dice eso de que «podemos revisar el contenido y tomar las medidas que estimemos oportunas», teniendo en mente que esto incluye su servicio Drive, ese lugar donde el común de los mortales guarda su material más intrascendente pero también el más personal.

Así que aquí estoy, embarcado en una trayectoria que ha de llevarme poco a poco, o eso espero, a la independencia total de Google y su omnipresente actitud vigilante cual ojo de Sauron. Trayectoria que en su momento ya recorrí con Microsoft con notable éxito, aunque por razones diferentes.

Lo que empezó siendo una entrada en la que recoger algunas conclusiones para que no cayeran en el olvido ha terminado convirtiéndose en la crónica de un peregrinaje en busca de un uso más libre y neutro de la red. Una red que, para quienes la vimos aterrizar en medio de nuestras vidas, nunca debería haber dejado de encarnar ese espíritu de interconexión y libertad con el que todo empezó. De manera que dedicaré varias entradas, una por cada etapa del camino, y a medida que las vaya publicando, las iré enlazando también desde aquí.

Empezamos:

  1. De como me independicé de Google (ii) – Navegar sin temor…
  2. De como me independicé de Google (iii) – La nube
Publicado por David en Blog, Herramientas, Linux, Seguridad, 0 comentarios
A vueltas con los discos duros

A vueltas con los discos duros

Ampliar partición de sistema

Al instalar según que versión de Ubuntu (me consta que pasa con varias de ellas) puede ocurrir que, al dejar los ajustes por defecto para el particionado que proporciona el asistente de instalación, nos encontremos con que la partición de sistema no está utilizando la totalidad del disco duro. La última vez que me ocurrió tal cosa fue con una de las versiones de la distribución LTS 20.04, dejándome reducido un disco de 250Gb a la mitad, pero sé de gente que le ha ocurrido encontrarse con particiones de sistema ridículamente pequeñas en algunas versiones de la distribución 18.

Sea como fuere, es muy probable que deseemos aumentar el tamaño de nuestra partición al máximo disponible. Afortunadamente, el sistema LVM hace que esta tarea resulte sencilla, pudiéndose hacer al vuelo y sin siquiera tener que reiniciar la máquina.

Empezamos por redimensionar el volumen lógico para usar la totalidad del grupo, que coincidirá con el tamaño del disco. Esto se puede hacer de dos maneras. O entramos en la consola de LVM…

sudo lvm
lvm> lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv
lvm> exit

…0 bien tecleamos el comando directamente, que viene a ser lo mismo:

sudo lvm lvextend -l +100%FREE /dev/ubuntu-vg/ubuntu-lv

A continuación, redimensionamos la partición para que ocupe todo el volumen disponible:

sudo resize2fs /dev/ubuntu-vg/ubuntu-lv
resize2fs 1.45.5 (07-Jan-2020)
Filesystem at /dev/ubuntu-vg/ubuntu-lv is mounted on /; on-line resizing required
old_desc_blocks = 15, new_desc_blocks = 29
The filesystem on /dev/ubuntu-vg/ubuntu-lv is now 60655616 (4k) blocks long.

Y… ya está! Ya podemos comprobar el nuevo tamaño de nuestras particiones con

df -h

Comprobación de discos al inicio

Hay una herramienta que resulta muy útil para este propósito: tune2fs. Lo primero que podemos hacer es obtener información de los parámetros actualmente configurados. Para ello lo ejecutamos con la opción -l (list):

tune2fs -l /dev/sda1

Si sabemos con exactitud lo que estamos buscando podemos combinar la salida anterior con grep. En cualquier caso, los parámetros que nos ocupan ahora son Mount count y Maximum mount count. el primer nos proporciona la cuenta de las veces que el disco se ha montado desde la última comprobación, y el segundo el conteo máximo para el cual tendrá lugar la comprobación de discos.

Publicado por David en Herramientas, Linux, 0 comentarios

Manejo de paquetes de instalación en Ubuntu

Linux packages

El misterio de los paquetes marcados como instalados manualmente

En ocasiones, cuando intentamos instalar un paquete que ya está instalado, el sistema nos devuelve el siguiente mensaje:

<package> is already the newest version (<ubuntu_version>).
<package> set to manually installed.

En realidad, este mensaje no tiene la menor importancia. Muchos paquetes se instalan de manera automática, bien durante la instalación inicial del sistema, bien como dependencias de otros paquetes. Y luego están los paquetes que los instalamos nosotros manualmente de manera explícita cuando los necesitamos. El gestor de paquetes simplemente guarda esta información en forma de un marcador que indica si la instalación del paquete se hizo de forma automática o manual. Esta información es la que el gestor utiliza, cuando desinstalamos un paquete, para decidir cuáles de sus dependencias ya no son necesarias y pueden ser desinstaladas, y cuáles es mejor mantener.

El tema viene cuando intentamos instalar un paquete que ya está instalado. Si este paquete se instaló en su momento de manera automática, el gestor lo marcará ahora como instalado manualmente. La única implicación práctica, que yo sepa, es que si ese paquete se había instalado automáticamente como dependencia de otro instalado anteriormente, cuando desinstalemos éste el gestor no nos sugerirá desinstalar la dependencia (lo cual es bastante conveniente en la mayoría de los casos, por cierto). No obstante, a los obsesivos un tema así nos puede traer de cabeza, así que si queremos devolverlo a su estado original, sólo tenemos que hacer lo siguiente:

sudo apt-mark auto <package>

Y listo.

Publicado por David en Herramientas, Linux, 0 comentarios

Usuarios y grupos

  • Listar usuarios o grupos

Una manera sencilla es consultar el contenido de los archivos /etc/passwd y /etc/group

  • Añadir un usuario o un grupo

Nota: Cada usuario debe pertenecer por lo menos a un grupo principal, que es el que viene especificado en el mismo archivo /etc/passwd. Adicionalmente podrá pertenecer a cuantos grupos más se desee, lo que vendrá indicado en el archivo /etc/group. Si durante la creación del usuario no especificamos ningún grupo se le asignará uno por defecto, el cual variará según el procedimiento utilizado. En unos casos se creará un grupo con el mismo nombre e ID que el usuario. En otros casos se asignará a un grupo especial de sistema llamado nogroup.

Lo primero es no confundir el comando adduser con useradd. Como regla general, y en la mayoría de las situaciones, utilizaremos adduser con las opciones deseadas. Por ejemplo, para añadir un usuario con un uid específico, utilizaremos el siguiente comando.

sudo adduser <USUARIO> --uid <UID>

En este caso, se crea por defecto un grupo con un gid = uid como grupo principal de dicho usuario. Además, se creará el directorio de usuario, se nos pedirá la contraseña y alguna otra información complementaria. Digamos que adduser es la herramienta administrativa por excelencia.

Y si lo que queremos es añadir un grupo con un GID específico:

sudo addgroup <GRUPO> --gid <GID>

 

Los comandos useradd y groupadd se utilizan para trabajar con usuarios y grupos en un más bajo nivel y de manera más granular.

  • Para comprobar uid o gid de un usuario

sudo id -u <usuario>
sudo id -g <usuario>
  • Elevar un usuario a sudoer

Basta con añadirlo al grupo sudo

sudo usermod -aG sudo <usuario>
  • Cambiar contraseña de un usuario

passwd <usuario>
    • Cuando se pasa sin argumentos, se entiende que se desea cambiar la contraseña del usuario actual.
    • Si no se suministra contraseña, no se cambia.
    • Sólo un usuario con privilegios de administrador puede modificar las contraseñas de otros usuarios
    • Las contraseñas se almacenan en formato cifrado en el archivo /etc/shadow
  • Comprobar a qué grupos pertenece un usuario

groups <usuario>
  • Borrar un usuario o un grupo

deluser <usuario>

o…

delgroup <usuario>
  • Borrar a un usuario de un grupo

deluser <usuario> <grupo>
  • Crear un usuario sin directorio de inicio ni capacidad de iniciar sesión

Esto es lo que viene a ser un usuario de sistema, es decir, un usuario que sirve para determinar la propiedad de determinados archivos o procesos pero que no va a trabajar en la máquina en cuestión.

En esta ocasión no se crea ningún grupo por defecto, lo cual es lógico tratándose de un usuario de sistema. Si queremos que se cree un grupo con el mismo nombre y ID deberemos utilizar la opción –group. De lo contrario, el usuario no pertenecerá a ningún grupo, lo que en la práctica significa que quedará asignado al grupo nogroup.

sudo adduser --system --no-create-home --uid <UID> --group <usuario>
Publicado por David en Herramientas, Linux, 0 comentarios