domingo, 16 de diciembre de 2007

Apaga el monitor con un simple clic

Fuente: BeLinuxMyFriend

Este tip (truco) el cual os voy a contar ahora, es simplemente imprescindible para mi ;)

Siempre justo antes de irme a dormir o salir de casa para ir a trabajar (o similares) apago el monitor directamente desde el botón de apagado del mismo, por que si no tendría que esperar el tiempo configurado las opciones de energia (11min) para que se apagara.

Esto puede solucionarse simplemente con el siguiente comando:

$ sleep 1 && xset dpms force off

NOTA: En sleep 1, el 1 es el tiempo (un segundo) que se esperara el sistema antes de apagar el sistema.

Aunque para no complicarnos la vida en poner esto cada vez que queremos que el monitor se apague, y quede en "espera" hasta hacer alguna acción (como mover el ratón o apretar alguna tecla), podemos crear un lanzador y colocarlo en un lugar de fácil acceso (por lo del sueño fácil o las salidas precipitadas).

En el lanzador tendremos que poner lo siguiente:

xset dpms force off

Ejemplo:


Enlace: Create a Virtual Monitor Power Button

Todo sobre el sistema de ficheros

Fuente: LinuxParaSeresHumanos

Si vienes del mundo de Windows lo primero que te sorprenderá es que no está la unidad C:. La distribución de los discos y particiones en Linux es diferente. Ya en la instalación te puedes dar cuenta cómo se nombran los discos en Linux:

  • El primer disco duro es /dev/hda (Hard Disk ide A)
  • El segundo disco duro es /dev/hdb (Hard Disk ide B)

El disco tendrá una o varias particiones, así las del primer disco duro (/dev/hda) serán /dev/hda1, /dev/hda2, … Éstas tiene el equivalente a lo que en Windows se llama C:, D:, …etc.

En Linux todo es un archivo, y cuando digo todo es todo. Desde los archivos de datos hasta las particiones de los discos pasando por el ratón y la tarjeta de sonido. Los directorios también son archivos. Existe un directorio raiz (/) del que cuelga todo. Los dispositivos cuelgan del directorio /dev.

Referencias

Algunos de los directorios más interesantes:

  • /: Raíz.
  • /usr: Aquí se encuentra la gran mayoría de los archivos existentes en un sistema Linux, tales como documentación, casi la totalidad de los comandos de usuario, juegos, librerías, etc.
  • /bin: Aquí están los comandos que pueden usar todos los usuarios (incluido el administrador o root).
  • /sbin: Aquí están los comandos que sólo puede usar el administrador o root.
  • /dev: Ahí están todos los dispositivos de nuestra máquina.
  • /home: Lugar donde se almacenan las cuentas de usuarios.
  • /lib: Enlaces a las librerías que se necesitan para el sistema.
  • /var: Contiene información variable, como por ejemplo los logs del sistema (/var/log), correo local, etc.
  • /tmp: Directorio temporal.
  • /etc: Configuración global de los programas.
  • /root: Cuenta del administrador.
  • /boot: Aquí está todo lo necesario para arrancar el sistema.
  • /media: Punto de montaje para sistemas de archivos montados localmente.
  • /mnt: Antiguo punto de montaje para sistemas de archivos montados localmente. Hoy en día está en desuso y se conserva por razones históricas.
  • /proc: Sistema de archivos virtual de información de procesos y del kernel.

Algunas referencias de Archivos conocidos:

  • /etc/apt/sources.list: Este archivo configura la lista de repositorios para Añadir aplicaciones, ver Activar universe y multiverse para más detalles.
  • /etc/X11/xorg.conf: Este archivo define y configura el entorno gráfico a cargar.
  • /etc/fstab: Este archivo configura el acceso a los diferentes sistemas de archivos que hay en nuestro sistema.
  • /etc/passwd: Este archivo controla el uso de usuarios, en contraseñas, con permisos y grupos que pertenecen a cada usuario, archivo muy importante si uno quiere tener un usario root más que el ya conocido root.
  • /etc/readahead/boot y /etc/readahead/desktop: Estos archivos contienen la lista de rutas de todos los archivos que se van a cargar en la memoria caché durante el Inicio_del_sistema.

Permisos

El sistema de permisos de Linux es simple y efectivo. Existen tres tipos de permisos:

  • Ejecución: Si es para un archivo será ejecutable y si es para un directorio significa que podemos pasar por él. Es representado por una X.
  • Lectura: Si es para un archivo significa que podemos leerlo y si es un directorio es que podemos leerlo también. Es representado por una R.
  • Escritura: Si es para un archivo será que podemos escribir en él y si es para un directorio significa que podemos crear ficheros dentro de él. Es representado por una W

También existen tres tipos de roles sobre los que se aplican estos permisos. Un archivo pertenece a un usuario y a un grupo:

  • Usuario: El propietario del archivo.
  • Grupo: Grupo al que pertenece el archivo.
  • Otros: Los demás usuarios.

Veamos un ejemplo:

$ ls -l pg_backup.sh

-rwxr-x--- 1 pepito usuarios 453 2005-02-17
09:35  pg_backup.sh

El archivo pg_backup.sh pertenece al usuario pepito y al grupo usuarios. Los permisos que tiene para el usuario son rwx lo que significa que el usuario pepito puede leer el archivo, escribir en él y ejecutarlo. Por la extensión vemos que es un script, por lo que es normal que se pueda ejecutar. Para el grupo tiene los permisos r-x. Eso significa que los miembros del grupo usuarios pueden leer el archivo y ejecutarlo, pero no modificarlo. Los permisos para los demás usuarios (otros) son , por lo que un usuario que no sea pepito ni pertenezca al grupo usuarios no podrá leer, escribir ni ejecutar el archivo.

Cambio de permisos

Consola

El comando chmod se usa para designar los permisos de un archivo. Sólo el dueño del archivo y el root pueden cambiar los permisos. La sintaxis de chmod es:

chmod {a, u, g, o} {+, -} {r, w, x} nombre del archivo

donde:

u: corresponde al dueño del archivo

g: corresponde al grupo

o o a: corresponde al resto de los usuarios, a para todos
(all) y o para otros (others)

Para autorizar o desautorizar el permiso:

+: autoriza

-: desautoriza

=: resetea los permisos

Los tipos de permisos son:

r: lectura

w: escritura

x: ejecución

El comando chmod también acepta otros valores para cambiar los permisos. Es probable que hayas visto algo como:

sudo chmod 751 [nombre del archivo]

Es otro modo de gestionar los permisos; de forma binaria. El sistema es muy simple y cómodo: se considera un bit para lectura (r) otro para escritura (w) y otro para ejecución (x). Las combinaciones posibles son ocho y se muestran en la tabla siguiente:

Decimal r w x
0 0 0 0
1 0 0 1
2 0 1 0
3 0 1 1
4 1 0 0
5 1 0 1
6 1 1 0
7 1 1 1

Un uno equivale a activar y un cero a desactivar los permisos. El equivalente decimal de los permisos se aplica en orden: dueño, grupo y cualquiera (u,g,a). Entonces en el ejemplo anterior el valor 751 actúa:

  1. Cediendo todos los permisos al dueño.
  2. Cediendo permiso de lectura y ejecución al grupo.
  3. Cediendo permiso de ejecución a cualquiera.

Interfaz gráfica

También podrás cambiar los permisos de forma gráfica; sólo tienes que darle con el botón derecho del ratón sobre el directorio o el archivo al que quieras cambiar el permiso y seleccionar la pestaña permisos.

Cambio de propietario

El cambio de propietario se hace empleando el comando chown :

chown (propietario):(grupo) (archivo)

Pondremos un ejemplo, supongamos que el usuario gaccardo desea darle una copia del archivo test.sxw al usuario pigu, el usuario pigu debe ser propietario de su copia para poder modificarla. Para esto debe cambiar el propietario y el grupo utilizando el comando chown.

Haciendo “ls -l” nos encontramos con un fichero asi:

-rwx-rw-r-- gaccardo gaccardo 435 sep 4 11:38 test.sxw

Por lo que en este caso el usuario gaccardo (actual propietario) deberá hacer :

[gaccardo@servidor priv]chown pigu:pigu test.sxw

Si vuelve a hacer “ls -l” encuentra que ha cambiado el actual propietario

-rwx-rw-r-- pigu pigu 435 sep 4 11:38 test.sxw

Cankiri: Crea screencast, graba tu esxritorio

Ya hablemos de XvidCap Screen Capture y RecordMyDesktop, aquí se muestra otra alternativa para grabar vuestro escritorio.

Fuente: UbuntuLife

cankiri.jpg

Cankiri es un programa desarrollado en &#112ython que de una manera muy simple nos permite crear screencasts (videos) de nuestro escritorio. Para instalarlo descarga el siguiente archivo y ejecuta:

$ &#112ython cankiri.py

Visto en | Bitelia

Encriptación sencilla de ficheros con OpenSSL

Fuente: UbuntuLife

En Tombuntu me encuentro un tip muy interesante. Se trata de usar OpenSSL para encriptar nuestros ficheros de manera que podamos proteger el contenido del mismo mediante el uso de contraseña. Lo he probado y puede usarse tanto como para ficheros de texto como binarios (p.ej una imagen).

OpenSSL es un conjunto de utilidades para criptografia de ficheros. Si no las tienes instaladas ejecuta:

$ sudo apt-get install openssl

Para encriptar un fichero ejecuta:

$ openssl aes-256-cbc -a -salt -in fichero_a_encriptar.txt -out fichero_encriptado.txt.enc

Nos pedira que escribamos una password y la confirmemos.

Para desencriptar el fichero anterior ejecutamos:

openssl aes-256-cbc -d -a -in fichero_encriptado.txt.enc -out fichero_desencriptado.txt

Nuestros documentos y ficheros personales a salvo!!

Crackear contraseñas de Linux con John the Ripper

Fuente: LinuTeca

John the Ripper (Juan el destripador) es el programa de cracking de contraseñas por excelencia, en esta entrada veremos como averiguar las contraseñas de Linux mediante dos métodos disitintos, a través de diccionarios y por fuerza bruta.

No es tan fácil como parece, las contraseñas de Linux están encriptadas bajo MD5 en el archivo /etc/shadow, el cual no puede ser leído por los usuarios normales, asique tendremos que ingeniárnoslas, para conseguir ese archivo como sea; con exploits o con escalada de privilegios es lo más común.

Una vez tenemos el archivo en nuestro poder, lo primero que haremos será instalar el paquete john:

sudo apt-get install john

Una vez instalado podemos empezar con el primer método.

El ataque por diccionarios se basa en un archivo, que contendrá todas las palabras que probaremos para adivinar el password. John leerá ese archivo e irá probando de una en una hasta dar con la acertada. Ejemplo:

ekhtor@macbook:~$ john -w=spanish.txt /etc/shadow

Loaded 2 passwords with 2 different salts (FreeBSD MD5 [32/32])

guesses: 0 time: 0:00:00:05 6% c/s: 2404 trying: amiento

Session aborted

En este caso estoy utilizando el diccionario spanish.txt porque pienso que la clave puede estar compuesta sólo con letras, si supiéramos que la clave es numérica usaríamos un diccionario numérico.

En los siguientes enlaces podéis descargar un ejemplo de cada uno:

Diccionario normal Diccionario numérico

¿Qué ventajas o inconvenientes tiene este método?

Pues la principal ventaja es la velocidad, es un método muy rápido pero a su vez tiene un gran inconveniente, si el password que queremos descifrar no se encuentra en el diccionario, nunca lo hallaremos. Este método lo usaremos sobre todo cuando queramos una cuenta de usuario en un sistema en el que hay muchos, porque al haber muchos usuarios, la probabilidad de tener algún password en nuestro diccionario es muy alta.

El segundo método es más agresivo, usaremos la fuerza bruta cuando queramos la clave de un usuario concreto, por ejemplo root. Los administradores de sistemas son más cuidadosos con sus claves y es muy raro que usen claves fáciles asique la única forma de conseguirlo será probar todas las posibles combinaciones. Ejemplo:

john -i /etc/shadow

Esto probará todas las combinaciones posibles, pero si sabemos el tipo de password que puede ser podemos indicarle que sólo use letras o números. Si queremos que los password que pruebe sean numéricos escribimos esto:

john -i:Digits /etc/shadow

Por el contrario si queremos que sólo pruebe con letras:

john -i:Alpha /etc/shadow

Hasta aquí ya sabemos como conseguir las contraseñas, ahora sólo queda saber cómo visualizarlas,y se hace con el siguiente comando:

john -show /etc/shadow

El hecho de averiguar mediante fuerza bruta una clave puede no ser cuestión de minutos u horas, sino de semanas, meses o incluso años si es lo suficientemente compleja, por eso si en algún momento queremos parar el proceso pulsamos CTRL+C y cuando queramos continuar escribimos el comando:

john -restore /etc/shadow

Como dije anteriormente este programa es el mejor(en mi opinión) y por lo tanto aquí no se acaban sus posibilidades, tiene muchos parámetros, configuraciones, parches, formatos… aquí os hago una pequeña introducción, si queréis profundizar, en la sección de manuales podréis encontrar lo que buscáis.

Para protegernos de estos ataques, sólo tenemos que hacer dos cosas muy sencillas, hacer una clave compleja compuesta de números, letras mayúsculas y minúsculas y carácteres raros como @ , . + - y de una logitud considerable, unos 10 carácteres está bien. Además de eso, como el john también es capaz de descifrar claves complejas, debemos de cambiar nuestra contraseña periódicamente.