Como Habilitar el un usuario Guest Invitado en Ubuntu Lucid que corra desde un $HOME en /tmp


Este tutorial es para aquellos que quieran habilitar un usuario Guest y que este usuario se le asigne una $HOME temporal en el directorio /tmp aleatoria y al reiniciar la maquina el contenido de su $HOME se perdera pues estara en /tmp, ideal para un cibercafe o libreria, aqui vamos:

Primero la cuenta predeterminada Guest no es posible habilitarla al comienzo pues esta no puede ser accesada hasta que no se accede con un usuario legitimo, asi que creamos un grupo y una cuenta nueva:
sudo groupadd ciber
sudo adduser --shell /bin/bash --ingroup ciber --disabled-password ciberuser
sudo passwd ciberuser

Creamos el direcorio para un pequeño script que correra al iniciarse esta cuenta:
sudo mkdir /home/ciberuser/.ciberconf

Creamos el script y cambiamos permisos de ejecucion:

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

Creamos directorio y archivo para el autostart de 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

Cambiamos permisos de su carpeta $HOME
sudo chown -R ciberuser:ciber /home/ciberuser

Ahora nos vamos al menu de Sistema -> Administracion -> Pantalla de Acceso
Desbloquemos superuser escribiendo la contraseña de root.
.
Abrimos el menu Sistema -> Administracion -> Usuarios y Grupos
Seleccionamos ciberusuario
Selecciona Activar esta Cuenta
Seleccionamos Contraseña -> Cambiar
Marca la opcion: No Preguntar Contraseña al iniciar
Elegimos Acceder como el el usuario ciberuser y ponemos el tiempo de espera en 10 segundos, cerramos.

Eso sera todo, ahora si gustas logout y login con usuario ciberuser, abres una terminal y escribe: pwd
si la consola te dice /tmp/algo estaras ya como usuario temporal.

Gracias por leer.

Anuncios

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 }')

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 }')

Borednomore-0.02b Release


Nueva version de mi herramienta, esta incorpora soporte para Google, Flickr y DevianArt, Algunos Bugs se han arreglado y nuevas cosas adicionadas.

Que es Borednomore? Es una herramienta que permite hacer que el escritorio cambie de imagen cada determinado tiempo, usando tus propias fotos o bajadas al azar desde Google, Flickr u DevianArt.

Instalacion:
Baja la version mas nueva desde BOX.NET (a tu derecha), luego:
tar xvf Borednomore-
cd Borednomore
chmod +x Borednomore
./Borednomore -help

Todo lo que metas en el subdirectorio ‘wallpapers’ sera parte de tu show, aqui unos ejmplos de uso.

No descarga, pone un retrazo en cada fondo cada 10 minutos.
./Borednomore -delay 600 -download

Forza descarga a DevianArt, muestra que hace
./Borednomore -v -force 3

Deinstala los fondos
./Borednomore -unset

Que tenga un buen dia =)


Borednomore-0.02b Release

I release a new version of my tool, this new version now have support for Google.com, Flicr.com and DevianArt.com, some bugs are been fix and features add, this next description was taken from the output.
./Borednomore -credits
Borednomore-0.02b

Creates a slide-show with wallpapers
from google.com, flickr.com, custom URI randomly
or if prefer from your own pictures by copy them.
to the wallpaper directory and run:

./Borednomore -download

Author: Alex R. Rodriguez ( dzupd@yahoo.com )
https://zzer.wordpress.com
Contributors: Cousteau (freenode @ #ubuntu-es)
Notes: This is the backend script.

To add your own wallpaper, add them to the 'wallpapers' directory and run:
./Borednomore -download

Use -help for more options.

Install:
Get the latest from Box.net, then

tar xvf Borednomore
cd Borednomore
chmod +x Borednomore
./Borednomore -help

To deinstall wallpapers:
./Borednomore -unset

Have a nice day! =)