viernes, 3 de octubre de 2014

Creación de usuarios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Vamos a empezar con una serie de entradas dedicadas a la creación, gestión y supresión de usuarios, algo crucial cuando de un sistema GNU/Linux se trata. Para ello empezaremos diseccionando el principal comando de creación de usuarios como es useradd.

useradd
Para crear un nuevo usuario llamado pepe teclearemos sudo useradd pepe.

  • useradd -c "técnico administrativo" pepe: crea el usuario pepe añadiéndole la descripción que tenemos entrecomillada, y que se denomina campo GECOS. Se usa para proporcionar información extra sobre el usuario relativa a su puesto, ocupación, nombre completo, etc.
  • useradd -d /house/pepe: indica un directorio home alternativo (en este caso sería house) para el usuario pepe. Este directorio ha de existir previamente y después habría que hacer a pepe propietario del mismo a través del comando chown.
  • useradd -e 2015-12-31 pepe: crea el usuario pepe, que será desactivado en la fecha indicada.
  • useradd -f 16 pepe: indica el número de días en que la cuenta se bloqueará por falta de uso.
  • useradd -g grupo1 pepe: crea un grupo primario, aquí denominado grupo1, (grupo principal que un usuario debe obligatoriamente tener asignado) para el usuario pepe, el cual debe existir previamente.
  • useradd -G empleados contables pelotas pepe: especifica los grupos (aquí denominados empleados, contables y pelotas) a los que pertenecerá el recién creado usuario pepe. Dichos grupos deben existir previamente.
  • useradd -m pepe: crea el directorio por defecto home para el usuario pepe.
  • useradd -M pepe: no crea el directorio por defecto home durante la creación del usuario pepe.
  • useradd -n pepe: añade un grupo con el mismo nombre del usuario creado.
  • useradd -N pepe: no crea un grupo con el mismo nombre del usuario.
  • useradd -r pepe: convierte al nuevo usuario pepe en usuario de sistema (que solo gestionan determinados servicios como red, impresoras...).
  • useradd -s /bin/Bash: crea el usuario pepe con la shell Bash por defecto.
  • useradd -u UID pepe: crea el usuario pepe con el UID que le indiquemos.
  • useradd -D: tecleando esto obtenemos los valores por defecto de useradd en la creación de usuarios: los de las variables SHELL (ruta  de la consola por defecto), HOME (ruta del directorio home por defecto), SKEL (directorio a utilizar para proporcionar los contenidos por defecto de los nuevo directorio home de los usuarios), GROUP (la ID por defecto del grupo), INACTIVE (el número máximo de días tras los que se puede cambiar la contraseña una vez haya expirado), y EXPIRE (fecha de expiración por defecto de las cuentas de los usuarios).
  • useradd -D -d /home/paco/practicas: establece la ruta /home/paco/practicas como la ruta por defecto del directorio home para todos los usuarios nuevos a partir de ese momento.
  • useradd -D -e 2015-12-31: establece la fecha indicada como la fecha de expiración de todas las cuentas creadas a partir de ese momento.
  • useradd -D -f 16: especifica que faltan 16 días para la desactivación de la cuenta una vez expirada la contraseña. se aplica a todos los usuarios nuevos a partir de ese momento.
  • useradd -D -g grupo1: especifica el grupo por defecto de los usuarios nuevos a partir de ese momento.
  • useradd -D -s /bin/Bashespecifica que la shell por defecto de los usuarios nuevos será Bash a partir de ese momento.
  • useradd -p `echo 1234 | openssl passwd -crypt -stdin `pepe: crea el usuario pepe con la contraseña de acceso 1234. El comando encripta la contraseña y la redirige al parámetro -p de useradd. No obstante, lo adecuado es crear la contraseña después de creado el usuario, usando el comando passwd.
Para terminar, observemos un ejemplo práctico de creación de usuario con la consiguiente explicación de cada parámetro:

useradd -mNr -s /bin/bash -g casa -c "José Luis Pérez" pepelu

Explicación:

useradd (añade usuario) -m (crea el directorio home por defecto del nuevo usuario) -N (no crea el directorio con el mismo nombre que el nuevo usuario) -r (califica al nuevo usuario como de sistema) -s bin/bash (establece la shell bash como consola por defecto del nuevo usuario) -g casa (establece que el nuevo usuario pasa a formar parte del grupo casa, ya existente) -c "José Luis Pérez" (añade ese comentario descriptivo al campo GECOS) pepelu (nombre del nuevo usuario).

Creo que para ser un solo comando no está nada mal. Hay más opciones y solo tienen que utilizar las herramientas de consulta para dar con ellas. Y, bueno, no tiene mucho que ver, pero estos días he recordado esta canción de Indigo Girls llamada "Galileo", así que concluiremos el post con ella.


miércoles, 24 de septiembre de 2014

Gestión de usuarios: preliminares

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

En este post vamos a hablar de algunos términos que ya se han citado en otras entradas, de modo que lo utilizaremos como una suerte de recordatorio que nos ayudará a concatenar con lo que vendrá después: la creación y gestión de usuarios y grupos. Recordemos que GNU/Linux es un sistema operativo multiusuario, esto es, pensado para que muchas personas trabajen juntas compartiendo datos. Precisamente comenzamos hablando de qué tipos de usuarios existen en un sistema Linux.
  • Usuarios normales: disponen de privilegios parciales sobre los recursos que tengan asignados.
  • Usuarios de sistema: son los encargados de los llamados daemon del sistema, que son procesos ejecutados en segundo y no controlados directamente por el usuario. Son propietarios de algunos de estos procesos y directorios.
  • Superusuario o usuario ROOT: es el que tiene el control total sobre el sistema. Su UID y GID siempre tienen valor cero.
  • UID: número identificador de usuario, el cual puede estar en la franja que va desde el 0 hasta el 65535.
  • GID: número identificador de grupo, el cual puede estar en la franja que va desde el 0 hasta el 65535.
A continuación, algunos comandos que conviene comocer y/o dominar.

su
Este es un comando para logarnos en el sistema como root.

  • su usuario2: de esta forma nos estaríamos logando como el usuario2, siempre que conozcamos su contraseña. De esta forma accederíamos a su directorio HOME.
exit
Nos sirve para salir del modo root.

sudo
Comando ya conocido que nos permite ejecutar órdenes por teclado como si fuésemos root.
  • sudo passwd root: para cambiar, mediante el comando passwd, la contraseña de root.
  • sudo nautilus: para acceder al navegador de archivos Nautilus como usuario root ( y así poder manipular archivos y directorios como se nos antoje sin las restricciones del usuario corriente).
visudo
Comando que nos permite editar automáticamente el fichero /etc/sudoers, donde podemos indicar qué usuarios podrán ejecutar órdenes como si fuesen root a través del comando sudo.

w [usuario]
Sirve para listar los usuarios de un sistema y los datos de su sesión.

write [usuario]
Sirve para comunicarse con otro usuario (una especie de mensajería instantánea).

wall [mensaje]
Para enviar mensajes a todos los terminales del sistema.

mesg [y|n]
Activa o desactiva la facultad de recibir mensajes.

Valga este pequeño post como antesala de lo que nos espera, si el tiempo libre y las fuerzas lo permiten, en relación a la gestión de usuarios y grupos. Y para grupo en el que tenía grandes expectativas, que se han visto deshechas con su temprana disolución, los texanos Fair To Midland. Parecían llamados a ser una de las grandes bandas de rock de comienzos de siglo, pero tendremos que fijar la vista en otra distinta. "Musical chairs" nos recuerdan lo grandes que pudieron ser.


miércoles, 16 de julio de 2014

Archivos de gestión de usuarios y grupos

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

A medida que vayamos adentrándonos en nuestro sistema Linux la gestión de usuarios y grupos se convertirá en un asunto capital. Antes de entrar a analizar los comandos que nos permiten crear y gestionar usuarios y grupos vamos a describir los archivos que intervienen en dichas operaciones.

/etc/skel/
Directorio donde se almacenan los archivos que se cargarán al crear un nuevo usuario.

/etc/default/useradd
Este es el fichero donde se guardan los ajustes de usuario.

/etc/logins.defs
Archivo que controla la vigencia de las contraseñas. Vamos a destacar tres variables de entorno relevantes para este aspecto:
PASS_MAX_DAYS: establece la vigencia de las contraseñas en nº de días.
PASS_MIN_DAYS: establece la vigencia mínima en nº de días de una contraseña. Si su valor es cero podremos cambiarla cuando lo queramos.
PASS:WARN_AGE: establece el nº de días a partir del cual se avisará al usuario de la caducidad de su contraseña.

Recordemos que sobre las variables de entorno hablamos aquí.

/etc/passwd
Archivo editable (como root) con la lista de usuarios del sistema. Debería tener permiso de lectura para todos pero solo de escritura para root. Veamos un ejemplo de línea de este fichero:

daemon:x1:1:daemon:/usr/sbin:/bin/sh

Desglose:

daemon: es el nombre de la cuenta.
x: es la clave encriptada.
1: es el UID (User IDentification, identificador de usuario). El UID de valor 0 pertenece al administrador. Por debajo de 100 es de sistema; por encima, de los usuarios.
1: es el GID (Group IDdentification, identificador de grupo).
daemon: es el GECOS o campo destinado a un comentario descriptivo del usuario o grupo.
/usr/bin: directorio del usuario.
/bin/sh: terminal por defecto.

Si quisiéramos crear un usuario manualmente sin recurrir a los comandos al uso, tendríamos que añadir al fichero /etc/psswd una línea similar a la que sigue:

manuel::523:100:ManuelPerezAdministrativo:/home/manuel:bin/Bash

Así, habríamos creado un usuario cuya cuenta recibe el nombre de manuel, con el UID 523, el GID 100, con ManuelPerezAdministrativo como campo GECOS o de comentarios, siendo /home/manuel su directorio de usuario y /bin/Bash su shell por defecto. No tendría contraseña, la cual había que crear con el comando passwd.

/etc/group
Archivo con la lista de grupos y los miembros de cada uno de ellos. Este sería un ejemplo de contenido:

daemon:x:1:<otro>

Desglose:

daemon: nombre del grupo; no puede repetirse y ha de tener un máximo de ocho caracteres.
x: contraseña que permite acceder a un usuario con el comando newgrp (las contraseñas ocultas se sustituyen por una x y se almacenan en el fichero /etc/gshadows).
1: GID, identificador de grupo, que debe ser único.
<otro>: aquí vendrán los nombres de los usuarios miembros del grupo.

Ejemplo de línea añadida manualmente: Compras::1020:Pablo:Silvia:Pedro:Sergio.

/etc/shadow
Archivo donde se almacenan las contraseñas de los usuarios y que solo es accesible como root. Ejemplo de contenido:

daemon:*:14889:0:99999:7:::

Desglose:

daemon: nombre de usuario.
*: contraseña.
14889: fecha de la última modificación de contraseña.
0: nº de días que tardará la contraseña en expirar.
99999: periodo de aviso en días de expiración de contraseña.
7: nº de días que trascurren desde que expira la contraseña hasta que se desactiva la cuenta.
Fecha de desactivación de la cuenta (en caso de proceder).

El campo que lleve un carácter ¡ o un asterisco * indica cuanta bloqueada. Si lleva los caracteres !! o el asterisco * es una cuenta no asignada.

/etc/gshadow
Es el archivo donde se almacenan las contraseñas para los grupos y solo es accesible para root.

Finalizamos con un par de comandos relacionados con todo lo que hemos visto:

grpconv
Sirve para crear el archivo /etc/gshadow y cambiar las contraseñas del archivo /etc/group por una x.

grpunconv
Revierte el resultado de grpconv.

En otro post hablaremos más en profundidad de la creación y gestión de usuarios y grupos. Mientras, escuchemos a este grupo progresivo noruego, Airbag, interpretando "Redemption".


viernes, 20 de junio de 2014

Reproducir archivos mp3 en la consola de comandos

Muchos pensarán que ejecutar tareas vía terminal cuando existen aplicaciones gráficas que minimizan la dificultad y facilitan la experiencia es propio de frikis o fundamentalistas de la programación. Sea cual sea su caso, saber como resolver determinadas operaciones a través de la consola de comandos solo puede resultar positivo y a ningún usuario le sobra conocer estas cosas. Hoy vamos a explicar como reproducir archivos de música en formato mp3 por terminal con el comando mpg123.

Lo primero, por supuesto, es instalarlo de la manera tradicional, con apt-get o aptitude.

sudo apt-get install mpg123

Una vez instalado, pasamos a posicionarnos en la carpeta donde estén los archivos a reproducir, que es más cómodo. Cuando estemos allí las opciones son varias. Hablemos de ellas.

mpg123 [nombre_de_archivo]

Si tecleamos la orden de esta manera el archivo mp3 comenzará a ejecutarse mientras que se nos muestran sus metadatos (el autor, el nombre del disco, el año y todas esas cosas...) en el terminal.


Es así de simple, pero conviene comentar algunos aspectos, como que el terminal quedará inutilizable hasta el fin de la reproducción, con lo que habría que abrir otro si queremos seguir metiendo órdenes por teclado. Cuanto termina la canción recuperamos la facultad de teclear comandos aunque los impacientes pueden pulsar Ctrl + C y finalizar abruptamente la reproducción cuando lo deseen, restableciendo así la línea de comandos.

Si no queremos visualizar los metadatos haremos lo siguiente:

mpg123 -q [nombre_de_archivo]

Por lo demás, el archivo se reproducirá de la misma manera.

Conviene destacar que GNU/Linux considera el espacio en blanco como un carácter más, pero lo trata de manera diferente según el caso. Si tenemos un archivo en cuyo nombre hay espacios en blanco (como en el ejemplo de la imagen de arriba, que es 07-El Scorcho.mp3) hay que encerrarlo entre comillas, y siempre incluir la extensión, si la tiene. Ni que decir tiene que hagamos lo mismo para movernos entre directorios. Para simplificar podemos copiar y pegar utilizando los atajos de teclado.

Si queremos liberar la consola de comandos y seguir usándola mientras el archivo de sonido se reproduce en segundo plano esto es lo que haremos:

mpg123 -q [nombre_de_archivo] &

En pantalla veremos algo como esto:



El archivo se reproduce pero deja libre la línea de comandos, no sin antes proporcionarnos un dato clave: el número de proceso de la operación. En esta ocasión, para detener la reproducción hay que recurrir al comando kill de esta manera:

kill -9 6214

Hemos hecho uso del comando kill con su opción -9 para matar el proceso, siendo este el nº 6214. No hace falta decir que hay que precederlo de sudo en caso de no ser administrador, ¿verdad? Como con cualquier comando que requiera derechos de súper usuario.

Si lo que queremos es reproducir un directorio entero, nos posicionamos en él y tecleamos:

mpg123 *.mp3

Los arquivos irán sonando uno tras otro en orden alfabético. Si queremos cambiar de canción pulsamos Ctrl + C, pasaremos a la siguiente y así hasta finalizar la lista. Si queremos detener la reproducción del todo pulsamos Ctrl + C dos veces seguidas. Añadiendo el modificador -q nos quitamos los metadatos de encima.

Si al reproducir un conjunto de archivos el modificador que empleamos es & para detenerla usaremos el comando top. Con esta orden se monitorizan los procesos activos en tiempo real, de modo que, tras teclearlo y pulsar enter, solo hay que buscar en la última columna de la lista el nombre del proceso mpg123 (si no lo vemos a la primera esperamos a que se actualice) y quedarnos con el número de proceso que aparece en la columna de la izquierda. Salimos pulsando la tecla q y, seguidamente, matamos el proceso con kill -9 como ya hemos explicado.

Si queremos hacer una de esas cómodas listas de reproducción, tomen nota:

ls *.mp3 > [nombre_de_lista.m3u]

Esto les generará un archivo de texto con el nombre de que hayan escrito; su contenido será la lista de archivos que hayan designado en cada caso.


Para ejecutarla tendrán que teclear (mismas condiciones para los modificadores -q y &):

mpg123 -@ [nombre_de_lista.m3u] -q &

Y a disfrutar :-)

Para ilustrar el post vamos con la banda que aparece nombrada en las capturas de pantalla, los norteamericanos Weezer y su divertido tema "Buddy Holly".


lunes, 16 de junio de 2014

Desbloquear el depósito de claves en Debian Wheezy

No soy muy amigo de las actualizaciones. Mi experiencia personal me dice que la paulatina lentitud del sistema es una consecuencia indeseada de renovar nuestro sistema operativo a través de actualizaciones en línea, como ocurre en GNU/Linux. Pero las sorpresas pueden ser también relativas a instalación/supresión de drivers, conflictos o incompatibilidades, periféricos que dejan de funcionar como solían, aplicaciones que ya no vuelven a ser las mismas...

Lo ultimo que me ha pasado es que, tras actualizar mi Debian 7, algo llamado "depósito de claves" reclama mi atención a través de este cartelito:



Esto es nuevo, no aparecía antes y viene a sustituir a la pantalla de logeado habitual. ¿Qué ha pasado?

El depósito de claves es una utilidad que almacena todas las claves o contraseñas que vamos introduciendo en nuestro transitar por la red (hablé brevemente de ello aquí). Por lo visto, la contraseña del depósito de claves es por defecto coincidente con la de acceso al sistema, y si cambiamos esta última con el comando passwd (ya hablaremos de él más adelante) o porque ha expirado es cuando nos aparece el letrero avisando de la discordancia. Si está usted utilizando un PC de empresa y le obligan a cambiar de clave periódicamente se puede encontrar con este molesto "visitante", pero pierda cuidado que librarse de él no es difícil.

Antes de nada, cuando le aparezca el dichoso letrero, cancele. Teniendo en cuenta que estamos en Debian Wheezy, vayamos después al menú Aplicaciones > Herramientas del sistema > Preferencias > Contraseñas y claves. Nos aparecerá la pantalla de contraseñas y claves con dos áreas separadas, una a la izquierda y otra a la derecha. Nos interesa la de la izquierda, en concreto la primera opción, Depósito de inicio de sesión. Si la clave de usuario y la del depósito de claves son distintas el candado que vemos aparecerá cerrado; lo seleccionamos y hacemos click en el botón derecho; en el menú que aparece pulsamos Desbloquear e introducimos nuestra clave actual de acceso de usuario. Cuando le demos a aceptar, en la parte derecha aparecerán listados los depósitos de contraseñas de todas las páginas web donde hayamos elegido la opción "guardar la contraseña". 

A continuación volvamos a la parte izquierda de la pantalla contraseñas y claves y nuevamente hagan click en el botón derecho cuando la flecha esté sobre Depósito de inicio de sesión; hay que pinchar en Cambiar la contraseña. Le pedirá la contraseña antigua, la que tenían antes de ser cambiada. Introdúzcala y después acepte. Introduzca la nueva contraseña, que deberá ser la misma que actualmente tiene para acceder al equipo, en los dos campos que aparecen. Reinicie y ya nuevamente ambas contraseñas serán coincidentes por lo que el letrero que da pie al problema desaparece. Es importante seguir el orden descrito; de lo contrario uno puede volverse un poco tarumba con el resultado que va obteniendo.

He leído que hay otra opción, que es no escribir ninguna contraseña cuando le solicita la clave nueva, pinchando simplemente en continuar. A continuación le aparecerá una advertencia bajo el título ¿Almacenar sus contraseñas sin cifrarlas? para advertirle que, de acceder, cualquier usuario que pueda entrar en su sistema puede leerlas. Dejo que cada uno elija la forma más segura de proteger su equipo.

jueves, 12 de junio de 2014

Esquema de sistema de directorios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

Para complementar la anterior entrada les dejo con este esquema de un sistema de directorios GNU/Linux estándar, con sus archivos y subdirectorios más importantes. Algo muy útil para un vistazo rápido, sobre todo para usuarios bisoños.


miércoles, 11 de junio de 2014

Sistema de directorios

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

En esta entrada se van a describir los directorios más importante de Linux, sus funciones y objeto dentro del entramado del sistema. Tengamos en cuenta que todo parte del directorio raíz representado por el símbolo / , que viene a ser como el disco C:/ de los sistemas Windows. Y recordemos a la hora de teclearlos que GNU/Linux distingue entre mayúsculas y minúsculas.

/bin
Contiene los ficheros ejecutables (denominados binarios) esenciales del sistema. También alberga vínculos simbólicos (hablamos de ellos aquí) de archivos binarios que están en otro directorio. A cada comando u orden le corresponde un binario, como pueden ser cat, chmod, cp, date, echo, kill, mkdir, rmdir y muchísimos más.

/boot
Aquí están los archivos que usa el sistema en el proceso de arranque, incluida la imagen binaria del kernel de Linux, que suele denominarse vmlinux o vmlinuz seguido por la versión y la edición.

/dev
Aquí se almacenan los controladores (en Linux denominados módulos) que permiten el acceso a los periféricos habituales del PC como el ratón, el DVD, la impresora o el teclado.

/var
Contiene información diversa generada tanto por el sistema como por los usuarios. Alberga algunos subdirectorios que hay que destacar:

  • /var/lock

Aloja los archivos de bloqueo que comunican al sistema que alguna aplicación no puede acceder a un dispositivo en concreto.

  • /var/log

Almacena los registros detallados de toda actividad desarrollada durante la sesión de trabajo.

  • /var/spool

Contiene la información lista para ser enviada, como pueden ser trabajos de impresión o correos electrónicos.

/lib
Alberga las librerías usadas por diferentes aplicaciones, evitando así que cada programa incluya las suyas propias y se produzca una redundancia de datos. Tiene especial importancia el directorio /lib/modules que contiene los módulos cargables del kernel.

/etc
Contiene los archivos de configuración del sistema, que en principio solo son accesibles para el administrador del sistema o root, pero en la práctica el usuario medio tiene permiso de lectura para casi todos sus archivos. Aquí encontraremos archivos de configuración de diferente relevancia como passwd, lilo.conf, hosts y skel entre otros.

/home
Aquí encontramos la estructura de directorios de cada usuario dentro del sistema y cada uno tendrá la suya propia. Es recomendable guardar este directorio en una partición aparte al diseñar el sistema de particionado para evitar pérdidas de datos irreparables.

/sbin
Contiene los binarios correspondientes a los comandos esenciales del administrador del sistema. Dicho administrador será quien los use habitualmente.

/usr
Almacena las aplicaciones y recursos disponibles para los usuarios dentro de nuestro sistema, Hay que destacar los siguientes subdirectorios:

  • /usr/bin

Contiene la mayoría de programas y comandos de los que puede disponer el usuario.

  • /usr/share

Contiene datos compartidos, independientes de la máquina en la que nos encontremos, como la documentación de los programas o imágenes de escritorio.

  • /usr/doc

Contiene documentación de herramientas tales como GNOME o el compilador gcc.

  • /usr/games

Aquí hay ejecutables de juegos y software educativo.

  • /usr/include

Alberga archivos de encabezados de C/C++ y directorios que contienen ciertos archivos de encabezados específicos, necesarios para escribir aplicaciones de red y del sistema.

  • usr/local

Aquí tenemos software y datos instalados localmente por el administrador del sistema con vistas a ser compartidos por otros ordenadores.

/tmp
Directorio tamporal normalmente usado por las aplicaciones para almacenar algunos ficheros en tiempo de ejecución. El sistema lo vacía periódicamente.

/opt
Este directorio sirve para instalar paquetes de software adicionales que pueden ser instalados por los usuarios.

/root
Suele ser el directorio inicial de la cuenta del superusuario o root, por lo tanto tiene el acceso protegido frente al resto de usuarios.

/lost+found
Contiene los archivos del sistema que no están asociados a ningún directorio y que pueden ser encontrados mediante la herramienta fsck (comprobación del sistema de archivos). Los administradores los emplean, básicamente, para comprobar los sistemas de archivos.

/mnt
Es utilizado por los administradores para montar temporalmente sistemas de archivos a través de la orden mount. Suele contener montajes como el del lector de CD o DVD y de los discos duros. Al montar un dispositivo se crea un nuevo directorio al que se puede acceder como a cualquier otro, permitiéndonos explorar su contenido.

/media
Contiene una estructura de directorios pertenecientes a cada uno de los dispositivos que montemos en nuestro sistema. Por cada unidad CD/DVD o memoria USB que instalemos en el sistema se irán sucediendo subdirectorios del tipo /media/cdrom0 (la primera unidad de CD), /media/usbdisk (la primera memoria USB), y así todo.

Y como hemos hablado del sistema, terminamos con un vídeo de los hard-rockeros alternativos System Of A Down llamado "Chop suey".



viernes, 16 de mayo de 2014

Las contraseñas guardadas por Google Chrome, al alcance de (casi) cualquiera

A raíz de un problema (pequeño, del que espero hablar aquí dentro de poco) tras actualizar mi Debian a la última versión he encontrado que las contraseña que introduzco desde Google Chrome en las webs que frecuento quedan registradas en el PC. Y son fácilmente accesibles a través de un menú. Esto es útil si uno tiene tendencia la desmemoria pero es un agujero de seguridad muy serio que podrían a provechar unas manos aviesas y unas intenciones aún peores.

Si ustedes van al menú Aplicaciones > Herramientas del sistema > Preferencias > Contraseñas y claves les saldrá una pantalla como esta:


Si hacen doble click en cualquiera de las líneas que aparecen se les abre la posibilidad de visualizar la clave. Así, a las bravas. Incluida la de acceso al PC.

Si esto les hace temblar más vale que las editen y eliminen. Y se piensen eso de "recordar la contraseña" que tantas páginas ofrecen a los internautas.

martes, 4 de febrero de 2014

Pequeñas aplicaciones que mejoran la experiencia Linux

En esta entrada vamos a ver algunas aplicaciones que utilizo con frecuencia y que me van acompañando con el paso del tiempo aunque cambie de distribución o reinstale el sistema. Me hacen la existencia algo más llevadera cuando tengo que enfrentarme a según que tareas. Todas se instalan desde el terminal de comandos usando apt-get o aptitude y siempre tecleándolos en minúsculas, a menos que se indique otra cosa.

Gscan2pdf
Este sencillo programa me viene muy bien cuando dispongo de varios archivos JPG, fruto de un escaneado, por ejemplo, y necesito unificarlos en un solo archivo PDF. Es la función por la que me gusta aunque también puede gestionar el escáner, hacer primitivos OCR's y renumerar páginas.

PDFEdit
Cuando el gscan2pdf se me queda corto recurro al PDF Editor, que amplia sus posibilidades permitiendo alterar el orden y la cantidad de páginas de un archivo PDF. Es pelín más lioso al principio pero no se tarda en hacerse uno con él.

XSane
Mi gestor de escáner favorito. Simple y directo, siempre ha sido mi primera opción, tal vez porque fue el primero que usé.

Comix
Lector de archivos CBR, formato en que suelen guardarse los cómics. También lee los guardados en PDF.

Asunder
Sencilla aplicación para convertir los cortes de un CD musical en archivos mp3. Podemos elegir los metadatos de cada canción, la frecuencia de muestreo y su tasa de bits.

EasyTag
Si lo que ha hecho es bajarse archivos musicales de internet y sus metadatos no están correctos o no existen podemos editarlos con EasyTag. Es posible modificarlos en bloque, nada de hacerlo de uno en uno.

EasyMP3Gain
Utilidad para normalizar el volumen de los archivos MP3 y que todos suenen parejos. Mejor que su aplicación hermana, MP3Gain, que a mí nunca me funcionó demasiado bien. Su ejecutable binario en este caso es easymp3gain-gtk.

DeVeDe
Simple y directo creador de CD's y DVD's de vídeo. Si solo queremos amontonar bajo una portada archivos de vídeo grabados con nuestra cámara casera sin complicarnos mucho cumplirá con creces.

Gnome Subtitles
Si lo que necesitamos es editar los subtítulos de una película (asumiento que tenemos el archivo SRT pertinente) con Gnome Subtitles cambiaremos su formato, lo sincronizaremos con las imágenes y hasta podremos reescribir los diálogos. El binario es gnome-subtitles.

GParted
Herramienta imprescindible en GNU/Linux para todo lo tocante a las unidades de disco. Modificar particiones, borrar y añadir unidades, montarlas, chequearlas, formatearlas... Que no le falte.

Grsync
Utilidad para sincronizar archivos entre dispositivos. Es fácil de manejar y dispone de un buen número de opciones para configurar la sincronización.

GDebi
Instalador de paquetes DEB que utilizaremos si no queremos tratar con el terminal para ese menester.

Grub Customizer
Si lo que quieren es poder configurar su menú de arranque entonces con Grub Customizer podrán personalizar el modo en que su PC comienza la sesión, desde el orden de arranque hasta el aspecto estético del menú. Para instalarla sigan las instrucciones que encontrarán aquí.

Unetbootin
Pequeña utilidad gracias a la cual podremos trasvasar el instalador de una distribución GNU/Linux a un pendrive. Para ello necesitaremos haber descargado previamente el fichero ISO correspondiente.

Como digo, estas pequeñas herramientas me ayudan en muchas tareas y han demostrado una eficacia que me lleva a serles fiel. Hay otras, mejores o peores, pero estas funcionan satisfactoriamente y merece la pena tenerlas en cuenta.

Y ya que hemos hablado de herramientas vayamos con un vídeo de la banda usamericana de metal vanguardista Tool. Una de sus mejores canciones es este "Stinkfist".


jueves, 16 de enero de 2014

Buscar y localizar archivos

Resto de entradas con intenciones didácticas en la etiqueta Aprendizaje.

El capítulo de hoy bien podría haber estado junto al de filtrado de archivos pero se hubiera hecho demasiado extenso y cansino, de modo que me ha parecido bien separarlo. Se trata de comandos para buscar y, por supuesto, encontrar archivos y directorios, el tipo de herramientas que siempre es bueno conocer y tener a mano.

find
Es el clásico comando de UNIX para encontrar archivos y directorios.
find -name lp: encuentra el fichero lp dentro del directorio actual.
find -iname lp: lo mismo pero sin tener en cuenta la diferencia entre mayúsculas y minúsculas.
find  /home/vacaciones/ -name "*.jpg": encuentra todos los ficheros con extensión .jpg que hay en el directorio /home/vacaciones.
find  /user -type f: encuentra todos los ficheros de tipo ordinario (parámetro "f") habidos dentro del directorio /user.
find / -user pedro: encuentra todos los archivos y directorios pertenecientes al usuario pedro.
find / -name cosas: encuentra el archivo cosas buscando a partir de la raíz del sistema. 
find . -name "hola.txt": encuentra todos los archivos de nombre hola.txt buscando a partir del directorio actual.
find . -size 50k: busca archivos que ocupen 50k a partir del directorio actual.
find . -size 20cbusca archivos que ocupen 20 bytes a partir del directorio actual. 
find . -size 5bbusca archivos que ocupen 5 bloques de 521 bytes cada uno a partir del directorio actual.
find / -empybusca archivos vacíos a partir del directorio raíz.
find /home/user1 -name \*.binbusca archivos con extensión .bin dentro del directorio /home/user1.
find /usr/bin -type f -mtime -10: encuentra archivos binarios creados o cambiados dentro de los últimos diez días.
find /usr/bin -type f -atime -100: encuentra archivos no usados dentro de los últimos diez días. 
Como ven las posibilidades son enormes (aún más si añadimos expresiones regulares o tuberías) y las variantes multitud. Acudan a las opciones de ayuda habituales y a internet para ampliar conocimientos. 

locate
Comando similar a find que realiza sus búsquedas conforme a una base de datos indexada (localizada en el archivo /var/lib/mlocate.db)  en lugar en relación al contenido del sistema. Su funcionamiento es en esencia igual.
locate -e archivo: busca solamente entradas de archivos existentes.
locate -i archivo: igual que la anterior pero ignorando la diferencia entre mayúsculas y minúsculas.
locate /home/*.txt: busca los archivos con extensión .txt en la ruta /home
whereis
Sirve para localizar un archivo binario (ejecutable), el código fuente y la página del manual de un comando.
whereis -b: busca solo el archivo binario.
whereis -m: busca solo la página del manual.
whereis -s: busca solo el código fuente.
whereis -b halt: muestra la ubicación del fichero binario correspondiente al comando halt.
which
Encuentra donde se está ubicado un archivo binario siempre que su ruta esté incluida en la variable PATH.

Y buscando algo con que ilustrar el comando find he encontrado este tema de Clannad llamado "I will find you" que aparecía en la banda sonora de "El último mohicano".