Howto Enable GUEST account at start in Lucid Ubuntu Linux without prompting for user password.or FREEZE an Account


This howto to create a user account in guest mode, that is the $HOME of this user will be in /tmp folder, the contents of this folder will be deleted each time the box is reinitializated.

Would’in be nice to have an account like this in a cibercafe or library, here we go:

First the Guest account can not be access upon startup, in order to access the guest account you must login with in a existing user, so we create our own group and user:
sudo groupadd ciber
sudo adduser --shell /bin/bash --ingroup ciber --disabled-password ciberuser
sudo passwd ciberuser

Make a folder where we put our little script to lock user into /tmp:
sudo mkdir /home/ciberuser/.ciberuser

Create script and change executing permit:

sudo echo "#!/bin/bash\n/usr/share/gdm/guest-session/guest-session-launch&" > /home/ciberuser/.ciberuser/ciberuser.bash
sudo chmod +x /home/ciberuser/.ciberuser/ciberuser.bash

Create directories and the file for autostart of gnome:

sudo mkdir /home/ciberuser/.config
sudo mkdir /home/ciberuser/.config/autostart


sudo echo "[Desktop Entry]\nType=Application\nExec=/home/ciberuser/.ciberuser/ciberuser.bash\nHidden=false\nNoDisplay=false\nX-GNOME-Autostart-enabled=true\nName[es_MX]=ciberuserjail\nName=ciberuserjail\nComment[es_MX]=ciberuser jail\nComment=ciberuser jail"> /home/ciberuser/.config/autostart/ciberuser.bash.desktop

Change ownership of $HOME
sudo chown -R ciberuser:ciber /home/ciberuser

Now go to Menu -> Administration -> Login Screen Unblock and select ciberuser, and activate access as ciberuser at start up, give a time of 10 seconds and exit.
Then goto Menu -> Administration -> User and Groups and select ciberuser
Activate the Account and Select Password, mark the Dont Ask for a Passwortd Box, and you done.

Thats it, i hope this mini tutorial is usefull.

Howto Instalar x-lite SIP phone on Ubuntu Lucid 32 bits


X-LITE es un telefono de los llamados SOFTPHONE usado para telefonia SIP y otros protocolos, aqui como lo instalas.

cd
wget http://counterpath.s3.amazonaws.com/downloads/X-Lite_Install.tar.gz
tar -zxvf X-Lite_Install.tar.gz
chmod +x xten-xlite/xtensoftphone
wget http://ftp.mx.debian.org/debian/pool/main/g/gcc-3.3/libstdc++5_3.3.6-18_i386.deb
sudo dpkg -i libstdc++5_3.3.6-18_i386.deb
sudo ./xten-xlite/xtensoftphone

Espero te sirva.

CentOS Howto no-ip.org Dinamico IP con un subdominio de NO-IP


En este minihow howto explicare como habilitar el servicio de no-ip.com para un host usando un ip dinamico.

Primero deberas visitar
http://www.no-ip.com
Registrate, despues de confirmar tu email, entra con tu cuenta y adicionas un host.
Bajate el Cliente Linux:
Como root ejecutas:

cd;wget https://www.no-ip.com/client/linux/noip-duc-linux.tar.gz
tar -xvf noip-duc-linux.tar.gz
cd noip-2.1.9-1
make
make install

Create un archivo de configuracion:

noip2 -C

Te preguntara que ethernet usaras para conectarte, si es eth0 pon 0, eth1 escribe 2, etc
Luego preguntara tu email escribelo el que usaste para registrarte con NO-IP
Contraseña de NO-IP
Ahora crearemos un archivo para que autoarranque al prender la maquina:

cd /etc/init.d
nano noip2d

Adiciona lo siguiente en tu archivo noip2d :

# chkconfig: 345 20 80
# description: Starts noip2 deamon to check for dynamic ip \
# and updates new ip to no-ip.org dns cache.
#######################################################
#! /bin/sh
# . /etc/rc.d/init.d/functions # uncomment/modify for your killproc
case "$1" in
start)
echo "Starting noip2."
/usr/local/bin/noip2
;;
stop)
echo -n "Shutting down noip2."
echo "."
for i in `noip2 -S 2>&1 | grep Process | awk '{print $2}' | tr -d ','`
do
noip2 -K $i
done

##killproc -TERM /usr/local/bin/noip2
;;
*)
echo "Usage: $0 {start|stop}"
exit 1
esac
exit 0
#######################################################

Salva y Salte, asigna permisos:

chmod +x /etc/init.d/noip2d
chmod 700 /usr/local/bin/noip2
chown root:root /usr/local/bin/noip2
chkconfig --levels 3 noip2d on
noip2d start

Verifica que esta corriendo en deamon:

ps aux | grep noip2

Si todo esta bien, ya tienes servicio de dominio con ip dinamico xD

Mini Coleccion de BASH miniscripts 2


Aqui algunas mas BASH scripts que he recolectado, espero te sean de utilidad.

#listando archivos con espacios entre-enmedio
ls “archivo con espacios en el nombre”

# Renombra nombre de archivos que contengan espacio por el caracter ‘_’
for i in *; do echo $i | grep -q ” “; [[ $? -eq $FOUND ]] && mv $i `echo $i | sed -e “s/ /_/g”`; done

# Genera un numero aleatorio usando urandom
head -c10 /dev/urandom | md5sum | tr -d [a-z] | tr -d 0 | cut -c1

# Visualizar estandarizados codigos de error usados en proyecto de la Universidad de Berkeley, California (ups!, dije BSD?, nota: la mayor parte de linux fue transportada desde *BSD)
cat /usr/include/sysexits.h

# Visualizar info de la bateria (en mi caso uso una Fujitsu, si no recibes nada ver el contenido de /proc/acpi/battery y cat el archivo correcto).
cat /proc/acpi/battery/CMB1/info

# Otra forma de Visualizar las devices del network
echo `/sbin/ifconfig | grep ^[a-z] | awk ‘{print $1}’`

# Visualiza un ps aux grafico
pstree

# Info de un binario
readelf -h /bin/bash

# Lista conexiones (debe ser root para ver todas)
lsof -an -i

# Visualizar cosas interezantes en /proc (procesa basura tambien)
for i in $( find /proc -type f -name ‘*’ ) ; do [[ “`file -b $i`” = “ASCII text” ]] && ( echo -en “33[0;34m***** archivo $i *****33[0;00m”; echo;[[ “$i” != “/proc/kpagecount” && “$i” != “/proc/kallsyms” && “$i” != “/proc/kmsg” ]] && [[ ! -d $i ]] && ( more $i;read -p “continuar?” -n 1 dumpinput;echo;echo )) ;done

# Otra variacion de lo mismo (incluye directorios con numeros)
for i in $( find /proc -type f -name ‘*’ ) ; do echo -en “33[0;34m***** archivo $i *****33[0;00m”; echo;[[ “$i” != “/proc/kpagecount” && “$i” != “/proc/kallsyms” && “$i” != “/proc/kmsg” ]] && [[ ! -d $i ]] && ( [[ “`file -b $i`” = “ASCII text” || “`file -b $i`” = “empty” ]] && more -s $i;read -p “continuar?” -n 1 dummyinput;echo;echo ) ;done

# Y otra (mejorada, solo directorios que empiezan con letra)
for i in $( find /proc/{a..z}* -type f -name ‘*’ | sort ) ; do echo -en “***** $i *****”; echo;[[ “$i” != “/proc/kpagecount” && “$i” != “/proc/kallsyms” && “$i” != “/proc/kmsg” ]] && [[ ! -d $i ]] && ( [[ “`file -b $i`” = “ASCII text” || “`file -b $i`” = “empty” ]] && grep -e [a-zA-Z0-9] $i;echo ) ;done | less

# Listando valores de virtuales keystrokes en acpi
cat /usr/share/acpi-support/key-constants

# Jugando con acpi_fakekey, haste root y segun vez en la lista de arriba KEY_VOLUMENDOWN=114, entonces, hago un for-loop y le mando 20 veses un volumen-abajo para que baje el volumen de las parlantes/bocinas:
for i in {1..20}; do acpi_fakekey 114;done

# Segun KEY_VOLUMENUP=115, entonces haste root con su root y sube el volumen 20 veses:
for i in {1..20}; do acpi_fakekey 115;done

# Analizando /etc
for i in $( find /etc/ -type f -name ‘*’ | sort ) ; do echo “*****”;echo -en “***** archivo $i *****”; echo; [[ ! -d $i ]] && cat $i;done | less

# Otra forma de listar los network interfaces:
/sbin/ifconfig | awk ‘/^[^ ]+/ {print $1}’

# Quitar comentarios de un archivo.
echo $(cat /etc/usplash.conf | grep -v ‘^#’)

# Visualiza $USER enviroment.
echo $(getent passwd “$USER”)

# Lista espacio df de ext2, ext3, xfs
df -P –type=ext2 –type=ext3 –type=xfs 2>/dev/null | awk ‘/\/dev\// { print }’ | sed -e ‘s/ [[:space:]]*/ /g’

# Version debian.
cat /etc/debian_version

# Version de distro.
cat /etc/issue

# Montar un iso imagen.
sudo mount -t iso9660 -o loop archivo.iso /media/test/

# Envenenar arp cache (arp poisoning) con arping
sudo arping -s source-ip destino-ip

# Usando ettercap con ncurses
sudo ettercap –curses

# Directamente haciendo un “man-in-the-middle” attack con ettercap
sudo ettercap -w miArchivo.pcap –text –mitm arp:remote /target-ip-1/ /target-ip-2/

# Deshabilitando .bash_history creando un symlink a /dev/null
ln -s /dev/null ~.bash_history

# Lista procesos con process-id, parent-process-id y comando
ps -e -o pid,ppid,command

# Densamblando a bin 32 (usando prog. ‘ndisasm’ del paquete ‘nasm’)
ndisasm -b 32 /media/ntfs/adin/adin.exe > adin.s

# Asignar otra ip a la ethernet card
ip addr add IP3 eth0
for ip in {1..254} ; do ip addr add 192.168.0.$ip/24 eth0 ; done

###############################################################3
# Hacer un FIFO local con dos terminates;
mkfifo /tmp/fifo
cat /tmp/fifo

Escriba algunas lineas, cada vez que pressione ENTER, la linea de texto se mandara
por el FIFO y aparecera en la primera terminal, Cierra el FIFO con Ctrl+D
Quita el FIFO:
rm /tmp/fifo

# Escribir hacia una terminal usando un FIFO en proc
echo “Hello, world” >> /proc//fd/1
###########################################################

# Probar sonido
cat /dev/urandom > /dev/audio

# Crear disco virtual de 10mb
dd if=/dev/zero of=/tmp/disk-image count=20480 /* en bloques de 512 * 20480 = 10mb */
mke2fs -q /tmp/disk-image
mkdir /tmp/virtual-fs
mount -o loop=/dev/loop0 /tmp/disk-image /tmp/virtual-fs

# Crear disk image de un cdrom
cp /dev/cdrom /tmp/cdrom-image
mount -o loop=/dev/loop0 /tmp/cdrom-image /mnt/cdrom

################################################################
# Visualizando load averange
cat /proc/loadavg

Los primeros 3 numeros corresponden al promedio de numero de tareas activas
corriendo en el proceso-del-sistema en los ultimos 1, 5 y 15 minutos respectivamente.
La siguiente columna es procesos activos en el instante que estan por ser ejecutados
en el arbol de procesos en lugar de estar bloqueados en una llamada del systema,
seguidos por / y el numero de procesos en sistema, por ultimo el PID del
ultimo proceso corrido.
###############################################################

# Recobrar archivos borrados con:
apt-get install photorec photorec

# Adicionando medibuntu al sources.list y instalando.
sudo wget –output-document=/etc/apt/sources.list.d/medibuntu.list http://www.medibuntu.org/sources.list.d/$(lsb_release -cs).list && sudo apt-get –quiet update && sudo apt-get –yes –quiet –allow-unauthenticated install medibuntu-keyring && sudo apt-get –quiet update; sudo apt-get –yes install app-install-data-medibuntu apport-hooks-medibuntu

# Descripcion algunos parametros de fsck (FileSystemCKeck utileria)
# -C=Pon =arra progreso, -R=Brinca root en caso de estar montado, -A=Procesa todo fstab y -a=auto repara (pero es mapeada a e2fsck -p )
fsck -C -R -A -a

# Otro parametro de fsck
# -t= tipo a checar, debe ser igual al de /etc/fstab
fsck -C -a -t ext3 /dev/sda2

# Inicializa Random SEED y genera 10 passwords con sus hashes
SEED=$(head -1 /dev/urandom|od -N 1|awk ‘{print $2}’);for i in {1..10};do passwordtmp=$(echo “`mkpasswd ${RANDOM:2:9}`”);password=$(echo “${passwordtmp:2:9}”);echo “pass: $password Hash: `mkpasswd $password`”;done

# Subir poder al ath0 (mi inalambrica es atheros)
sudo iwconfig ath0 txpower 10

# Reiniciar el panel
kill -HUP $(pgrep panel)

# Regresar iptables a valores por defecto.
iptables -X; iptables -t nat -F; iptables -t nat -X; iptables -t mangle -F; iptables -t mangle -X; iptables -P INPUT ACCEPT; iptables -P FORWARD ACCEPT;iptables -P OUTPUT ACCEPT

# Reiniciar audio
pkill pulseaudio && start-pulseaudio-x11

# Visualiza BIOS y info de tarjeta madre.
demidecode -t bios
demidecode -t baseboard

# Actualiza la base de datos de locate
su -l root -c updatedb

# Busca toda la subnet cuando conecta y reporta si estan up.
sudo dhclient ath0 && sbnt=$(ifconfig ath0 |grep “inet addr” |cut -d “:” -f 2 | cut -d “.” -f 1-3) && nmap $sbnt.0/24 -sP

# Busca por -As en el man page.
man tar | grep -B2 -A5 remove | head

# Desde Windows 2 formas de recuperar mbr record
bootrec /fixboot
bootrec /fixmbr

# Copiando con scp
scp myfile you@remote:/path/to/where
scp “you@remote.machine.org:/userdisk/yourdir/*” ./

# Desde host hacia mi recurcivamente
scp -r alex@192.168.100.104:/home/alex/Desktop/text/* .

# Probando teclado.
xev -rv

# quitarle al nautilus el modo confirmacion de borrar trash.
gconftool-2 -s /apps/nautilus/preference/confirm_trash –type=bool false

# Expulsar el cdrom
eject /dev/sr0

# poniendo un salvapantallas desde consola
/usr/lib/xscreensaver/glblur -root

# Visualizando particiones disco duro
parted /dev/sda print

##############################################################
# Adicionando FreeBSD al GRUB2 , primero ver en que particion esta FreeBSD
parted /dev/sda print

# Luego al archivo modifique segun sus necesidades
nano /etc/default/grub

# Adicione al archivo /etc/grub.d/40_custom las siguientes lineas.

# the ‘exec tail’ line above.
menuentry “FreeBSD 8.1-RELEASE i386” {
set root=(hd0,3)
chainloader +1
}

# Alternativamente si lo deseas y quieres deshabilitar el “linux mem-test” del menu de grub
chmod -x /etc/grub.d/20_memtest86+

# Para finalizar ejecute
update-grub
#####################################################################

# Forma mas segura de asignar lista de archivos
# a un array.
shopt -s nullglob
textfile_listing=( *.txt )

# lista IP’s en /etc
find /etc -type f -exec cat ‘{}’ \; | tr -c ‘.[:digit:]’ ‘\n’ | grep ‘^[^.][^.]*\.[^.][^.]*\.[^.][^.]*\.[^.][^.]*$’

# List archivos con suid a root (+4000)
for file in $( find /usr/bin /sbin /bin /usr/local/bin -perm +4000 ); do ls -ltF –author “$file”;done

# Creando un respaldo de archivos en $PWD hacia otro directorio
ls . | xargs -i -t cp ./{} otro_directorio

# Ejecuta un ‘reverse DNS lookup’ a IP
ipcalc -h IP

# Usando banner
banner -w 60 Hola Mundo

# Leyendo en voz alta /etc/issue
espeak -v es-la -l 10 -s 170 -p 15 < /etc/issue

# Analizando un archivo en HEX
dd if=/bin/ls | hexdump -C | less

# Des-ensamblando un archivo binario
objdump -d /bin/ls | more

# Deja de echo a terminal
stty -echo
stty echo #muestra echoes en terminal (default)

# Lista services
`which service` –status-all

# Lista interfaces
echo $(/sbin/ifconfig | sed -e 's/ .*//')
echo $(/sbin/ifconfig | awk '/^[a-z]/ { print $1 }')

Factsys-1.0.5-Multiuser.tgz


Un programa de Inventarios, Facturacion, Cartera de Credito, etc que realize el invierno de 1989 para una tienda de muebles en Estados Unidos, corre bajo DOS, Windows hasta version 95 y en Vista con un emulador de DOS, tambien he probado en linux con un emulador DOS como dosbox, *BSD de la misma forma, bajalo descomprimlo en una carpeta, ver INSTALL y README para instrucciones y un mini manual que escribi.

Descargalo desde aqui: http://www.box.net/shared/e3krmkg910

Hacer que irssi hable en voz alta la charla


Aqui una modificacion al plugin “notify.pl” de irssi para escuchar la charla usando espeak.
Crea un directorio (si no existe) llamado ~/.irssi/plugins
Si aun no tienes espeak instalalo.
Copia este codigo como notify.pl en ese directorio.

##
## Put me in ~/.irssi/scripts, and then execute the following in irssi:
##
## /load perl
## /script load notify
## /server localhost

use strict;
use Irssi;
use vars qw($VERSION %IRSSI);

$VERSION = "0.01";
%IRSSI = (
authors => 'Luke Macken',
contact => 'lewk@csh.rit.edu',
name => 'notify.pl',
description => 'TODO',
license => 'GNU General Public License',
url => 'http://lewk.org/log/code/irssi-notify',
);

sub notify {
my ($dest, $text, $stripped) = @_;
my $server = $dest->{server};

##return if (!$server || !($dest->{level} & MSGLEVEL_HILIGHT));

$stripped =~ s/[^a-zA-Z0-9 .,!\?@\:\]//g;
#system("notify-send -i gtk-dialog-info -t 5000 '$dest->{target}' '$stripped'");
system("espeak -v es-la '$stripped'");
}

Irssi::signal_add('print text', 'notify');

Lanza irssi y:
/script load notify

profit!

BASH compilacion de mini-scripts


BASH es la shell de preferencia, que por default se usa en Linuxes (quizas la mas frecuente), aqui presento algunos mini-scripts que he recopilado al paso del tiempo, algunos bastante interezantes, otros sin sentido, y otros simplemente tontos, una parte de ellos han sido copiados de paginas, irc.

La primera linea es un comentario, como haz de saber los comentarios comienzan con un #, enseguida el codigo, algunos de ellos muentran 2 o mas variaciones de lo mismo.

Indiscutiblemente como casi todos los sistemas operativos tipo *nixes, esta no es ni sera la unica forma de hacerlo, pueden existir miles variaciones de la misma idea, te invito que comentes como las podrias mejorar, simplificar, etc.

# Si aun no estan definidas, define Enviromental variables
: ${HOSTNAME?} ${USER?} ${HOME?} ${PATH}

# Lista Authores y Correo Electronico
# de programas en /usr/bin (este pruede ser cambiado).
# Todavia sale basura en algunas lineas, alguna sugerencia
# de como mejorarlo?
for file in $( find /usr/bin/ -type f -name '*' | sort );do strings -f $file | sed -e "s%/usr/bin/%%" | grep @| grep ""|grep -e "[a-Z0-9\:][_-9a-Z]@[0-9a-Z].[a-Z]"; done

# lista todos los usuarios
for name in $(awk 'BEGIN{FS=":"}{print $1}' < "/etc/passwd" ) ; do echo -n "$name "; done;echo

# Lista todos los usuarios y asignalo a una variable.
lista_usuarios=$(for name in $(awk 'BEGIN{FS=":"}{print $1}' < "/etc/passwd" ) ; do echo -n "$name "; done);echo $lista_usuarios

# Buscando una cadena en un archivo binario.
for i in $( strings "/bin/ls" | grep "mem" ) ; do echo $i; done
for i in $( strings "/bin/ls" | grep "mem" | tr -s "$IFS" '[\n*]') ; do echo $i ; done

# Un ls mas bello.
ls -al | awk '{ print $1, "(" $5 " letras)",n,$8}'

# Un alias a ls tonto que finge toos los archivos son .exe (estas en windows o que?)
alias ls='for i in $(ls${*%.*c}); do echo "${i%.*c}.exe";done'

# Un alias a ls con listado simplificado.
alias ls='echo $(ls${*%.*c})'

#devuelveme mi alias a ls!
alias ls=/bin/ls
alias ls=ls
alias ls=`which ls -al` #que pasa si haces esto?
alias ls='`which ls` -al'
alias ls='$(which ls) -al'

# Renombra archivos *.DOC por *.doc
for i in $(ls *.DOC); do mv -f $i ${i%.DOC}.doc; done

# crea una contrase~a aleatoria
passwordtmp=$(echo $RANDOM | md5sum | md5sum) ; password=$(echo "${passwordtmp:2:9}");echo $password

# Crea una contrase~a aleatoria y asignala como nueva passwd
# Posiblemente no trabajara en tu version de passwd
passwordtmp=$(echo $RANDOM | md5sum | md5sum) ; password=$(echo “${passwordtmp:2:9}”);echo “$password” | passwd –stdin “$USER”;echo “USER: $user Password: $password”

# lista “broken links” en $HOME
find "$HOME" -type l -print0|xargs -r0 file|grep "broken symbolic"|sed -e 's/^\|: *broken symbolic.*$/"/g'

# Otras formas de listar archivos.
`which ls` $PWD/*
for i in $PWD/*; do echo $i; done
/bin/ls -al $PWD/*
ls | xargs -n 8
(printf "Permisos Enlaces Usuario Grupo Bytes Fecha Hora Archivo\n" 7 ; ls -al | sed 1d) | column -t
vdir -a
getfacl *

# Mostrar contenido de los /etc
/bin/cat /etc/* | more
more /etc/*

# Mueve (mv) usando cpio Directorio1 a directorio2
find "directorio1" -depth | cpio -admvp "directorio2"

# Cual es mi IP externa
echo `lynx -dump http://www.whatismyip.com.au | grep Your | cut -f 2 -d :`- | tr -d '-'
ip=$(echo `lynx -dump http://www.whatismyip.com.au | grep Your | cut -f 2 -d :`- | tr -d '-');echo $ip

# Hazme un nmblookup
nmblookup -A `lynx -dump http://www.whatismyip.com.au | grep Your | cut -f 2 -d :`

# Que google?
echo $(dig http://www.google.com | grep "ANSWER SECTION" -A 1 | grep IN | tr '\t' ' ')
lynx -dump "www.google.com" | sed -n '/^References$/,$p' | grep -E '[[:digit:]]+\.' | awk '{print $2}' | cut -d\? -f1 | eval grep \"^$basedomain\" | sed \"s|$basedomain||g\" | sort | uniq

# Descarga fotos de un index
for i in `lynx -dump http://www.adamandevedoll.com/adamandevedolls/pic/1387-lesbian-22/|grep http://|cut -f 4 -d ' '`;do wget $i;done;
grep -Eo '\'r -np http://www.tower-productions.co.uk/naturism/images/?C=S;O=D
wget -r -np http://www.tower-productions.co.uk/naturism/images/?C=S;O=D

# copia archivos via ssh
rsync -avz -e ssh usuario@foo.com:/home/i/ircadmin/Unreal3.2.7/* ./.

# Conexiones Abiertas
netstat -an | grep ESTABLISHED

# Manda un HUP signal a X server 🙂
ps aux | grep X | grep -v "grep" | awk '{ print $2}' | xargs kill -HUP $1

# Encuentra archivos de cierto tama~o
find $HOME/ -type f -size +100000k -exec ls -lh {} \; | awk '{ print $8 ": " $5 }'

# Lista los ultimos 10000 comandos mas usados
history | awk '{a[$2]++}END{for(i in a){print a[i] " " i}}' | sort -rn | head
history | awk '{print $2}' | awk 'BEGIN {FS="|"}{print $1}' | sort | uniq -c | sort -n | tail | sort -nr

# Un puntero bello
export PS1="\n\u@\H($PWD):"

# Convertir archivos a avi
# Convierte todos *.flvs en $PWD a .avis
# Para convertir otra clase nomas cambia la extencion .flv (ocupas mencoder)
for i in *.flv; do mencoder -ovc lavc -oac mp3lame -o "$i.avi" "$i"; done

# hacer un playlist en escritorio
rm ~/Desktop/misrolas.m3u
find ~/music/ -iname "*.mp3" -print >> ~/Desktop/misrolas.m3u
find ~/music/ -iname "*.ogg" -print >> ~/Desktop/misrolas.m3u

# Muestra nombre de maquina en network
nmblookup -A

# Borrar Archivo(s)
find . -name '._*' -exec rm {} \;
# Con confirmacion (mejor cholo que mal arrepentido)
find . -name '._*' -ok rm {} \;

# Despliega una bella fecha/hora
echo $(date '+%A, %B %e, %Y, a las %l:%M %p')

# Ver Zonas de tiempo
find /usr/share/zoneinfo/* -type f -print | xargs -n 2 | awk '{ printf " %-38s %-38s\n", $1, $2 }' | more
find /usr/share/zoneinfo/* -type f -print | xargs -n 2 | awk '{print $1}' | more

# Salida violenta (sin decir adios)
killall -s HUP -u $(whoami)

# lista todos los links de la URI
lynx -dump "www.google.com" | sed -n '/^References$/,$p' | grep -E '[[:digit:]]+\.' | awk '{print ""$2"\n"}' | cut -d\? -f1
lynx -dump "www.freebsd.org" | sed -n '/^References$/,$p' | grep -E '[[:digit:]]+\.' | awk '{print ""$2"\n"}' | cut -d\? -f1
lynx -dump "www.debian.org" | sed -n '/^References$/,$p' | grep -E '[[:digit:]]+\.' | awk '{print ""$2"
\n"}' | cut -d\? -f1 > ~/Desktop/debianlinks.html

# Lista manpages con el Hippie de Stallman dentro
find /usr/share/man -name '*.gz' -exec zgrep -il stallman {} \; | sed -r 's@.*/@@g; s@\..*@@'
find /usr/share/man* -name '*.gz' -exec zgrep -il "richard.*stallman" {} \; | sed -r 's@.*/@@g; s@\..*@@' | sort -u

# Renombrando multiples extenciones
for old in *.png; do cp $old `basename $old .png`.gif; done

#crackear wifi (simplificado)
cd; mkdir captura;cd captura; sudo wlanconfig destroy; sudo wlanconfig create wlandev wifi0 wlanmode monitor; sudo airodump-ng ; y vez que canal quieres monitorear y: sudo airodump-ng -c CANAL -w dump ; sudo aircrack-ng -b ARCHIVO_CREADO.cap

## Lo siguiente de WIFI aplica a mi Atheros de mi Lappie
## Tengo instalado madwifi.
## COMO root ###########################################

# Lista las AP disponibles (Atheros)
su
wlanconfig ath0 list scan
exit

# Pone mi Atheros en modo monitor
su
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode monitor
ifconfig ath0 up
exit

# Crack con wesside-ng
su
oldpwd=$PWD
cd
cd micaptura
rm wep.cap prga.log key.log
wesside-ng -i ath0 -k 1
cd $oldpwd
exit

# Jugando con airoplay-ng
su
aireplay-ng -3 -b BROADCAST-MAC -h HOST_MAC ath0
airodump-ng -w ARCHIVO_A_GRABAR -c NUMERO_CANAL --bssid BSSID_MAC ath0
airdecap-ng ARCHIVO_A_GRABAR.cap
exit

# Prueba si Atheros puede hacer injection
aireplay-ng --test ath0

#regresarlo a modo normal
su
wlanconfig ath0 destroy
wlanconfig ath0 create wlandev wifi0 wlanmode sta
ifconfig ath0 up
wlanconfig ath0 list scan
exit

# Cambiando MAC con macchanger
su
ifconfig ath0 down
macchanger -r ath0 # Randomizada
macchanger -m XX:XX:XX:XX:XX:XX ath0 # Clonada (mensione Clonada? maldicion!)
ifconfig ath0 up
exit

# nmap scaneando
nmap -sS -p 1-64000
nmap -sT -p 1-6400
nmap -A -p 1-65535

# Lista casi hasta composicion quimica de memoria
lshw -C Memory

# CPU info
lshw -C CPU

# Matando firefox Pidgin
pgrep pidgin|xargs kill -s 9
pgrep firefox|xargs kill -s 9

# Espacio Ocupado
du -sh $HOME

# Regresando el gnome panels y menus a default
gconftool --recursive-unset /apps/panel && killall gnome-panel »
# si no funciona, puedes borrarle todo menus y dejarlo bien default.
sudo rm -rf ~/.gconf/apps/panel
killall -s HUP -u $(whoami)

# Lista Contrase~as username en cache de pidgin.
cat ~/.purple/accounts.xml | grep ""; cat ~/.purple/accounts.xml | grep word

# resuelve que arch usa
uname -m | tr [:upper:] [:lower:] | tr -d [:blank:]

# resuelve os:
uname -s | tr [:upper:] [:lower:] | tr -d [:blank:]

# Que version?
cat /etc/issue

# muestra windows shares
smbclient -N -L

# bloquea youtube localmente
#block main youtube site
echo "127.0.0.1 localhost" > /etc/hosts
echo "127.0.0.1 http://www.youtube.com" >> /etc/hosts
echo "127.0.0.1 youtube.com" >> /etc/hosts

# bloquea youtube con iptables
iptables -I FORWARD -d youtube-ui.l.google.com -j DROP

#Para iptables block youtube , para borrarla -D
iptables -A FORWARD -d 74.125.0.0/16 -j DROP
iptables -I FORWARD -d 74.125.0.0/16 -j DROP

# Bloquea todo el subnet
iptables -I FORWARD -d 66.102.9.0/24 -j DROP

#bloquear un puerto
iptables -A INPUT -p udp --dport 2299 -j DROP
iptables -A OUTPUT -p tcp --dport 2299 -j DROP

# dump todo relacionado gconf
gconftool-2 --dump /

# Inicializa el random seed aleatoriamente
SEED=$(head -1 /dev/urandom | od -N 1 | awk '{ print $2 }')

# Mira si eres root
if [ "X`id -u`" = "X0" -a -z "$RUN_AS_USER" ]; then echo "Tienes superpoderes";fi

# un for-loop
for i in `echo {1..9} 255`; do echo "$i"; done

# si no existe crea directorio
[[ ! -d direct ]] && mkdir `echo direct`

# Si existe borra directorio
[[ -d direct ]] && rmdir `echo direct`

# Verifica si hay pings a google
[[ `ping -c1 -W3 http://www.google.com >/dev/null 2>&1` ]] && echo "Tienes internet" || echo "No tienes Internet"

# Si existe midirectorio y si existen archivos .jpg; copialos a otrolado
[[ -d midirectorio ]] && ( [[ `ls midirectorio/*.jpg 2> /dev/null` ]] && cp midirectorio/*.jpg otrolado/ )

# Forma mas segura de asignar lista de archivos
# a un array.
shopt -s nullglob
textfile_listing=( *.txt )

# lista IP’s en /etc
find /etc -type f -exec cat ‘{}’ \; | tr -c ‘.[:digit:]’ ‘\n’ | grep ‘^[^.][^.]*\.[^.][^.]*\.[^.][^.]*\.[^.][^.]*$’

# List archivos con suid a root (+4000)
for file in $( find /usr/bin /sbin /bin /usr/local/bin -perm +4000 ); do ls -ltF –author “$file”;done

# Creando un respaldo de archivos en $PWD hacia otro directorio
ls . | xargs -i -t cp ./{} otro_directorio

# Ejecuta un ‘reverse DNS lookup’ a IP
ipcalc -h IP

# Usando banner
banner -w 60 Hola Mundo

# Leyendo en voz alta /etc/issue
espeak -v es-la -l 10 -s 170 -p 15 < /etc/issue

# Analizando un archivo en HEX
dd if=/bin/ls | hexdump -C | less

# Des-ensamblando un archivo binario
objdump -d /bin/ls | more

# Deja de echo a terminal
stty -echo
stty echo #muestra echoes en terminal (default)

# Lista services
`which service` --status-all

# Lista interfaces
echo $(/sbin/ifconfig | sed -e 's/ .*//')
echo $(/sbin/ifconfig | awk '/^[a-z]/ { print $1 }')