martes 31 de enero de 2012

Imprimir en impresora HP JetDirect desde un terminal

En ocasiones necesito imprimir desde un equipo al que estoy conectado remotamente vía ssh, pero éste no tiene impresora y sé que en la red tenemos una impresora HP JetDirect. ¿Cómo puedo hacerlo?

En la máquina desde la que quiero imprimir instalo las siguientes utilidades: netcat y enscript.

# aptitude install netcat enscript


  • enscript me servirá para convertir el archivo que quiero imprimir a formato ".ps".
  • netcat me servirá para enviar el trabajo a la impresora.
Veamos un ejemplo. Imaginemos que estoy conectado a un servidor squid y quiero imprimir el fichero /etc/squid/squid.conf:

Primero convierto el archivo de texto a formato postscript y lo guardo en el archivo squid.ps:

# enscript /etc/squid/squid.conf -o squid.ps


Después, mando el trabajo a la impresora (En el ejemplo, la impresora tiene la ip 192.168.0.100):

# netcat 192.168.0.100 9100 < squid.ps

Así de sencillo.

Possible missing firmware

He realizado un upgrade un equipo de Debian Lenny a Squeeze y he observado algunos mensajes de warning del tipo:

W: Possible missing firmware /lib/firmware/........ for module ............

Por lo que he podido ver, tan sólo se encontraba instalado el paquete de firmware firmware-linux-free:

bash-4.1# dpkg -l|grep firmware
ii firmware-linux-free 2.6.32-39squeeze1 Binary firmware for various drivers in the Linux kernel


Para solucionarlo, he instalado también los paquetes firmware-linux y firmware-linux-nonfree:

# aptitude install firmware-linux firmware-linux-nonfree


bash-4.1# dpkg -l|grep firmware
ii firmware-linux 0.28+squeeze1 Binary firmware for various drivers in the Linux kernel (meta-package)
ii firmware-linux-free 2.6.32-39squeeze1 Binary firmware for various drivers in the Linux kernel
ii firmware-linux-nonfree 0.28+squeeze1 Binary firmware for various drivers in the Linux kernel

lunes 30 de enero de 2012

libpam-ccreds: "Jugando" a cachear credenciales de usuario en Debian

Las credenciales de un usuario son su nombre de usuario (username) y su contraseña (password).

El cacheo de credenciales es muy útil para ordenadores portátiles en los que se realiza la autenticación de usuarios mediante un servidor LDAP. Si cacheamos las credenciales de un usuario, éste podrá acceder al portátil  cuando el servicio de ldap no se encuentre disponible, por ejemplo, cuando el portátil no se encuentre conectado a la red.

El paquete libpam-ccreds nos proporciona un mecanismo para cachear las credenciales de usuario y lograr que el proceso de autenticación del usuario pueda realizarse incluso cuando el servicio de red no se encuentre disponible, mediante el módulo pam_ccreds.so

Además, pone a nuestra disposición un par de herramientas muy útiles para usar en un terminal: cc_test y cc_dump.

cc_dump: Realiza un volcado de las credenciales cacheadas. Según la información del paquete, es posible que la utilidad cc_dump sea eliminada en un futuro.

Ejemplo:

administrador:/home/enavas# cc_dump
Credential Type User Service Cached Credentials
----------------------------------------------------------------------------------
Salted SHA1 enavas any a591ba057c876154b4df42404393bffa2606a5cc
Salted SHA1 root any 82559ecb4c47b4bc197d547d6b90e795ae36756b
Salted SHA1 general any 817db704788884abdf837c6458f8ca5e3942a1c3


cc_test: Esta herramienta es muy interesante porque nos va a permitir "jugar" con las credenciales de usuario.

Personalmente, he utilizado cc_test en scripts para cachear credenciales de usuario introducidas por pantalla.

Esta es la sintaxis de cc_test:

cc_test [ -validate | -store | -update ] [service] [user] [password] [ccredsfile]


Veamos ahora qué podemos hacer con cc_test:

1) Comprobar si las credenciales de un usuario son válidas:
 # cc_test -validate any usuario password

Ejemplo: cc_test -validate any enavas mipassword

2) Borrar las credenciales cacheadas de un usuario:
 # cc_test -update any usuario -


Ejemplo: cc_test -update any enavas -


3) Cachear las credenciales de un usuario:
 # cc_test -store any usuario password


Ejemplo: cc_test -update any cfernandezx01 16011996

viernes 27 de enero de 2012

Windows: Problema con el perfil al iniciar sesión en un dominio

Esto es algo con lo que últimamente me he tropezado. Una máquina windows en la que no podían iniciar sesión en un dominio los usuarios que no habían entrado en la máquina anteriormente.

El problema estaba en que, por alguna razón, el administrador no tenía permisos sobre el perfil por defecto.

Para solucionarlo, lo único que hay que hacer es mostrar la carpeta del perfil por defecto (C:\Usuarios\Default), cambiar las opciones de carpeta seleccionando "Mostrar archivos, carpetas y unidades ocultos" y darle permisos al administrador

martes 17 de enero de 2012

Arrancar las X

Podemos iniciar el servidor X desde una consola, ejecutando simplemente:

# startx

Se iniciará el servidor X en el terminal tty7.

Si ahora ejecutamos.

# startx -- :1 

Se iniciará el servidor X en el terminal tty8.

lunes 16 de enero de 2012

Buscar una cadena de texto en una lista de archivos

A veces necesitamos buscar una cadena dentro de un conjunto de archivos.

Por ejemplo: El otro día quería buscar los archivos que contenían la parte de red de una dirección IP dentro de los archivos de configuración que hay en el directorio /etc.

Una manera de hacerlo sería:

# find /etc -type f -name *.conf| xargs grep "172\.19\.144\."

El comando find buscaría en el directorio /etc los ficheros (-type f) con extensión .conf (*.conf). Y xargs le pasaría la lista al comando grep para buscar la cadena ("172\.19\.144\.") dentro de cada uno de los archivos de la lista.

viernes 13 de enero de 2012

Convertir imágenes de VirtualBox a KVM

Una forma de convertir una imagen VDI de VirtualBox a KVM es transformar primero la imagen VDI a formato RAW y después la imagen RAW a un formato específico de KVM como por ejemplo QCOW2:

1.- Convertimos la imagen VDI a RAW:

# VBoxManage clonehd squeeze.vdi squeeze.raw --format RAW

2.- Convertimos de formato RAW a QCOW2:

# qemu-img convert -f raw -O qcow2 squeeze.raw squeeze.qcow2

El problema es que si nuestra imagen en formato VDI tan sólo ocupa 5GB para un disco duro definido de 20GB, la imagen en formato RAW ocupara 20GB. Lo que significa que necesitaremos tener un espacio libre en disco duro de al menos 20GB+5GB. El problema es mayor cuanto más grandes son las imágenes.

Una vez terminado el proceso de conversión, podemos borrar la imagen RAW, puesto que ya no la vamos a necesitar.