miércoles, 2 de julio de 2008

Exportar escritorio mediante xdmcp con kdm.

Llamo servidor a un equipo que exporta su escritorio para que otro de la misma red lan acceda mediante xdmcp.

Acceso remoto por XDMCP

EN EL SERVIDOR: Editar el archivos /etc/kde3/kdm/kdmrc y modificar o descomentar las siguientes lineas según el caso. (lineas en negrita)


[Xdmcp]
# Whether KDM should listen to incoming XDMCP requests.
# Default is true
Enable=true
# The UDP port on which KDM should listen for XDMCP requests. Do not change.
# Default is 177
Port=177
# File with the private keys of X-terminals. Required for XDM authentication.
# Default is ""
KeyFile=/etc/kde3/kdm/kdmkeys
# XDMCP access control file in the usual XDM-Xaccess format.
# Default is "/etc/kde3/kdm/Xaccess"
Xaccess=/etc/kde3/kdm/Xaccess
# Number of seconds to wait for display to respond after the user has
# selected a host from the chooser.
# Default is 15
#ChoiceTimeout=10
# Strip domain name from remote display names if it is equal to the local
# domain.
# Default is true
#RemoveDomainname=false
# Use the numeric IP address of the incoming connection on multihomed hosts
# instead of the host name.
# Default is false
SourceAddress=true
# The program which is invoked to dynamically generate replies to XDMCP
# DirectQuery or BroadcastQuery requests.
# If empty, no program is invoked and "Willing to manage" is sent.
# Default is ""
Willing=/etc/kde3/kdm/Xwilling

Editar el archivos /etc/kde3/kdm/Xaccess y descomentar las siguientes lineas para permitir el acceso a xwindow. (lineas en negrita)

#
# In all cases, xdm uses the first entry which matches the terminal;
# for IndirectQuery messages only entries with right hand sides can
# match, for Direct and Broadcast Query messages, only entries without
# right hand sides can match.
#

* #any host can get a login window

#
# To hardwire a specific terminal to a specific host, you can
# leave the terminal sending indirect queries to this host, and
# use an entry of the form:
#

#terminal-a host-a


#
# The nicest way to run the chooser is to just ask it to broadcast
# requests to the network - that way new hosts show up automatically.
# Sometimes, however, the chooser can't figure out how to broadcast,
# so this may not work in all environments.
#

* CHOOSER BROADCAST #any indirect host can get a chooser

#
# If you'd prefer to configure the set of hosts each terminal sees,
# then just uncomment these lines (and comment the CHOOSER line above)
# and edit the %hostlist line as appropriate
#

#%hostlist host-a host-b

* CHOOSER %hostlist #


Por ultimo reiniciar el servidor.

Respaldo incremental con rsync y ssh

Buenas, aca dejo un artículo de como realizar respaldos incrementales mediante rsync y ssh, las pruebas estan hechas en kubuntu feisty en el server y en el cliente.

Paquetes a instalar en el servidor y cliente:

apt-get install openssh-server openssh-client rsync


En primer lugar hay que permitir que el servidor donde se van a realizar las copias de seguridad pueda acceder a la estación de trabajo sin contraseña, empleando claves RSA sin contraseña.

Para ello ejecutamos en el servidor lo siguiente, teniendo backuphcd como el usuario del servidor que hace los backups:


$ ssh-keygen -t rsa

Generating public/private rsa key pair.
Enter file in which to save the key (/home/backuphcd/.ssh/id_rsa):
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /home/backuphcd/.ssh/id_rsa.
Your public key has been saved in /home/backuphcd/.ssh/id_rsa.pub.
The key fingerprint is:
91:7e:ec:01:a2:e2:f5:d7:87:f6:2c:f7:38:87:71:04
backuphcd@sistemas2

Es importante no introducir contraseña.


Crear la carpeta para el usuario backuphcd logueado como adminstrador.


cd /home

sudo mkdir backuphcd

sudo chown -R backuphcd backuphcd

sudo chgrp -R migracion backuphcd

exit (termina sesión con el usuario administrador)



Copiar clave rsa publica creada en el servidor con el usuario backuphcd


scp /home/backuphcd/.ssh/id_rsa.pub backuphcd@192.168.1.xx:/home/backuphcd


Loguearse en el cliente con el usuario backuphcd

ssh 192.168.1.xx -l backuphcd (nos pide la contraseña)

mkdir .ssh

cat id._rsa.pub >> /home/backuphcd/.ssh/authorized_keys

rm id_rsa.pub


Con estos pasos ya podemos crear procesos automatizados en el servidor que conecten vía SSH a la estación de trabajo sin que se les pida contraseña, lo cual es razonable porque no pueden introducirla.


Crear la carpeta para alojar el respaldo de los clientes y los scripts de backups.

cd /

sudo mkdir backups

sudo mkdir -p backups/nombre_cliente ( esta carpeta para cliente en particular)

sudo chown -R backuphcd:migracion backups


Crear script para cada cliente.

sudo nano nombre_cliente.sh

#! /bin/bash  

TIMESTAMP=$(date "+%d-%m-%Y-hs%H:%M")
FROM="backuphcd@nombre_cliente:/ruta_carpeta_a_respaldar"
TO="/backups/nombre_cliente/"

if rsync --delete -avb $FROM $TO-nombre_cliente-$TIMESTAMP

then

echo "BACKUP OK"

else
echo "BACKUP FAILED"
fi


Crear script principal que llama a todos los demás.

sudo nano backup.sh

#! /bin/bash  

/backups/nombre_cliente1.sh

/backups/nombre_cliente2.sh

/backups/nombre_clienten.sh

Agregar el script backup.sh al cron


sudo nano /etc/crontab

# /etc/crontab: system-wide crontab

# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do. SHELL=/bin/sh PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
# m h dom mon dow user command

17 * * * * root cd / && run-parts --report /etc/cron.hourly
25 6
* * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

45 12 * * * backuphcd /backups/backup.bash

#

Resaltada la linea en cuestión que ejecuta /backups/backup.sh todos los dias a las 12:45 por el usuario bakuphcd.

Con esto tenemos bacups incrementales dentro de una carpeta con la fecha y hora de realización.
Saludos Hugo Acosta.


martes, 20 de mayo de 2008

Toshiba 205 y 453 en kubuntu breezy

Hoy me toco instalar estas impresoras de red nuevas en mi trabajo, la mayoria de los equipos de usuarios finales tiene kubuntu breezy como OS, y el problema es que en la lista de drivers no se encuentran las toshiba...
La manera que encontre, creeria que es la mas facil es descargando los drivers desde toshiba.
Ahi elegimos el modelo en mi caso la e-studio 205 y la e-studio 453, descargamos el driver para linux .gz y lo guardamos en disco.
A instalar.... Abrimos kcontrol y vamos a la parte de perifericos-> impresoras (le damos al boton modo administrador, para hacerlo como root)
Luego añadir impresora clase.
Tipo TCP/IP
Direccion ip de la impresora puerto 9100
otros para explorar el disco y seleccionamos el archivo .gz correspondiente a nuestra impresora
Las demas opciones son a criterio de uds, lo mas importante ya esta....
Saludos y disculpen la falta de tiempo para hacer una guia mejor elaborada.
Hugo Acosta

miércoles, 14 de mayo de 2008

Decodificando películas que piden utilizar DomPlayer

DompPayer es un reproductor de vídeo comercial que cuesta 3 dólares y que, hasta donde nos han contado, instala spyware (a través de otro reproductor alternativo denominado 3wPlayer) al comprar una licencia fuera del país que DomPlayer.com determine. Existen una buena cantidad de vídeos en las redes entre iguales (P2P o peer-to-peer), muchos de estos interesantes, que inexplicablemente fueron codificados por alguien para obligar a los incautos a instalar y utilizar DomPlayer. Desde Windows se puede utilizar una herramienta de Wildman Productions, denominada 3wdecoder.exe, la cual requiere .Net para Windows. Desde Linux es posible decodificar estás películas con un sencillo guión en perl. Éste se utiliza de la siguiente forma.

Procedimientos:

Se copia el siguiente contenido dentro de un fichero denominado decoder.pl.

# Turn of output buffer
$|++;
# The key for XOR decryption
my $key = 'UIERYQWORTWEHLKDNKDBISGLZNCBZCVNBADFIEYLJ' . chr(0);
print "Reading from \"$ARGV[0]\":\n";
$insize = -s $ARGV[0];
# Open the bogus AVI file
open(IN, $ARGV[0]) or die $!;
binmode IN;
# Read Header to check
read(IN, $buffer, 4);
if ($buffer ne 'RIFF') {
print " ERROR: \"$ARGV[0]\" is not an AVI\n";
close IN;
exit(1);
}
# Get Length of the unencrypted movie
read(IN, $buffer, 4);
$offset = unpack 'L', $buffer;
print " End of the unencrypted movie is at byte offset $offset\n";
# Jump to the read offset
seek(IN, $offset, 0);
# The next 4 or 8 Bytes seem to be either an unsinged long
# or an unsigned quad. This is another offset to jump
# over some filler bytes. Right now I can't really tell if
# it's 4 or 8 bytes, because I only have 1 file to test with.
# I assume it's a quad.
# low word
read(IN, $buffer, 4);
$offlo = unpack 'L', $buffer;
# high word
read(IN, $buffer, 4);
$offhi = unpack 'L', $buffer;
# Calculate offset
$offset = $offhi * 4294967296 + $offlo;
print " Offset after the unencrypted movie is $offset\n";
seek(IN, $offset, 0);
# Then there seem to be another 100 filler bytes
# with value 0xff. Jump over those too, to get
# to the offset where the real movie starts.
printf " Adding extra filler bytes, final offset is %s\n", $offset+100;
seek(IN, 100, 1);
# Update the size
$insize -= $offset+100;
# Open a file for writing the decrypted data to
print "Decrypting to \"$ARGV[1]\":\n";
open(OUT, ">$ARGV[1]");
binmode OUT;
truncate OUT, 0;
$bytes = 0;
$klen = length($key);
# Read key length bytes, decrypt them and
# write them to the output file untill you reach
# the end of the file
while ( read(IN, $buffer, $klen) ) {
$buffer ^= $key;
print OUT $buffer;
$bytes += $klen;
# print the status
printf "\r %d written (% .1f %%)", $bytes, ($bytes / $insize * 100);
}
# Close both files
close OUT;
close IN;
print "\n\nDONE!\n";

Una vez creado decoder.pl, se utiliza de la siguiente forma desde cualquier terminal, y asumiendo que el vídeo a decodificar está en el directorio de trabajo actual:

perl decoder.pl pelicula_codificada.avi pelicula.avi

Luego de unos minutos, se obtendrá como resultado un vídeo que se puede visualizar con cualquier reproductor de vídeo desde Linux (Mplayer, Xine, Totem, VLC, etc.).

Fuentes: Edril Padayhag y Go iT expert.

Automatizacion de cuentas de Usuario

En el mundo de los S.O, y mas en los GNU/Linux, es muy comun hoy en dia hacer el uso de una serie de comandos para la administracion del servidor ya sea que este este o no en produccion de una empresa "equis", o ser el responsable (encargado) del area de sistemas de una universidad, departamento de un sector gubernamental o en nuestra propia desktop/Laptop.



Hoy en dia es muy comun hacer automatizar servidores corriendo una serie de scripts ya sea en cron, at o desde el propio shell del sistema.

En esta nota anexo unas lineas de un script para automatizar la creacion de cuentas de usuarios a nivel sistema.

El script tiene las siguientes opciones:
  • Alta de usuarios
  • Baja de usuarios
  • Consulta de usuarios
  • Cambio de passwords

Recordar que este script unicamente puede ser ejecutado por el SysAdmin (root) del sistema.

# ---- Parte del Script ---
#!/bin/bash

#
# Script para dar de alta/baja/consultas y cambio de passwords
# para usuarios de sistema.
# Date 15/may/06
# Lic. Domingo Varela Y.
# Probe = True
#


if [ `id -u` != "0" ]; then
echo "You must be root to run this program"
echo
exit
fi

echo
echo
while [ "$op" != 6 ]
do
echo
echo "[1] Alta de usuarios (Creados en directorio /home por default)"
echo "[2] Alta de usuarios (Personalizando su directorio y grupo de trabajo)"
echo "[3] Baja de usuarios"
echo "[4] Consulta de usuarios"
echo "[5] Cambiar password"
echo "[6] Salir"
read -p "Ingrese una opcion: " op
echo
....

Más informacion aqui

Fuente: http://www.linuxsc.net

Drivers para Webcams en Linux

Impresionante: un programador francés sentado en el sillón de su casa tranquilamente ha sido capaz de crear 235 drivers de webcams para Linux. Sin respaldo de ninguna empresa y sin ánimo de lucro, simplemente por contribuir.

Con pintas de Stallman, Michel Xhaard (en la foto) ha sido el responsable de esta hazaña y gran contribución al Software Libre. Éste ha realizado una entrevista en exclusiva con The Inquirer contando todos los detalles de su proeza. Aquí tienen la entrevista que he traducido al castellano:

FC: ¿Quién eres y a qué te dedicas?
MX: Mi nombre es Michel Xhaard, y soy médico y trabajo desde hace años en Doppler and Ultrasound imaging. Tengo 60 años ahora.

FC: ¿Cuándo empezaste este proyecto y porqué?.
MX: Empecé en el proyecto “spca50x” en 2003, cuando compré dos webcams para mis hijas por Navidad y no tenían soporte en Linux.

FC: Entonces decidiste encargarte tú mismo. ¿Cómo supiste por donde empezar?
MX: Después de preguntar al “gPhoto team”, Till Adam y Thomas G. me proporcionaron una ayuda muy útil para empezar. Después de unas semanas teníamos soporte completo para el chipset Sunplus spca504b en Gphoto, fotos, y para el Spca50x, video streaming.

FC: ¿Por qué “GSPCA”? ¿A qué pertenecen esas siglas?
MX: “Generic Software Package for Camera Adapters” :)

FC: Enconces, ¿Cómo creció la bola de nieve hasta llegar a más de 253 webcams soportadas con diferentes chipsets?
MX: Empezando por los chipset de Sunplus, me di cuenta de que la mayor parte del código del núcleo del driver se podía “compartir” para el soporte de otros chipsets de otras webcams. Ese es el motivo de que los drivers de “GSPCA” ahora soporten más de 250 webcams con diferentes chipsets.

FC: ¿Puedo preguntarte por qué decidiste almacenar tu proyecto en Free.FR? ¿No piensas que Sourceforge.Net u otras webs como OSS project repository serían más apropiadas? ¿Qué pasaría si Free.FR desaparecería? ¿No piensas que es un riesgo almacenar un OSS project en Geocities or Tripod?
MX: Me gusta “free.fr” porque es, bueno, gratis :) ¿¿Has visto el mismo contenido en Geocities.com o tripod.com??. Mira ftp://ftp.free.fr/pub/
También, puedes estar seguro de que “free.fr” no desaparecerá. A mí personalmente no me gusta Sourceforge.net porque a veces puede ir muy lento, y hay un montón de proyectos muertos…

FC: ¿Eres consciente de que tu site no está bien indexado? Encontré no una página sino tres que decían que el ZC0301 no estaba soportado, o que había un proyecto de drivers para Linux que había sido abandonado. ¿No piensas que tener un dominio propio ayudaría?
MX: Si.

FC: ¿Cómo te siente saber que hay varias grandes corporaciones con millones de dólares pendientes de Linux, y tú has hecho todo este trabajo ayudando a Linux soportando webcams -para cientas-, y todavía ninguna de estas grandes firmas ha decidido patrocinar tu trabajo?
MX: Mi trabajo no está centrado en el Kernel de Linux, mi objetivo es proporcionar soporte de video para usuarios de Linux, y no estoy seguro de que esas grandes compañías estuvieran interesadas en el usuario final.

FC: Bueno, yo creo que deberían. Google lo hace, por ejemplo, desde que compró esta firma Nordic días atrás que realiza software para plataformas cruzadas de videoconferencia en Java. Si ellos quisieran que todo el mundo realizara videoconferencias independientemente del Sistema Operativo, los drivers serían la clave. OK, tú no lo dirás pero yo si: sería una pena que en RedHat, Novell, Linspire, y IBM, por nombrar algunos, no se hubieran preocupado de esto. ¿Hay algo que quieras añadir?
MX: Sí, a pesar de la vieja foto que vas a usar en el artículo, ten en cuenta de que he dejado de fumar en Junio del 2006 :) [Estoy seguro que el seño Ballmer te mandará toneladas de tabaco después de leer este artículo]. :)

FC: Muchas gracias Michel por tu tiempo, y por los drivers. He visto que el chipset ZC0301P usado por mi “DigiGR8″ webcam está en el listado, pero he sido incapaz de hacerla funcionar, así que cortemos el chat y empecemos con el “tiramiento de los pelos”.
MX: De nada.


Artículo basado en Noticia de:
http://www.techtear.com

jueves, 8 de mayo de 2008

Video documental .:: Codigo Linux ::. en español

A petición de varios usuarios repetimos este excelente Video el cual nos da a conocer como nació el Kernel Linux a voz de sus creadores y colaboradores, conoceremos su nacimiento, su desarrollo, sus bondades y su participación en varias situaciones de la sociedad.

Recomendado para las personas que están iniciando en este sistema operativo de nombre Linux, video a continuación ....


PARTE 1



PARTE 2



PARTE 3



PARTE 4



PARTE 5



Fuente: www.koalasoftmx.net