Trivial Linux (segunda edición)


Como la lista de correo estaba aburrida debido a las lógicas bajas del verano, hemos celebrado la segunda edición del Trivial Linux, una serie de preguntas cortas de tareas o conceptos relacionados con Linux. Aquí tenéis las preguntas… y las respuestas.

Pregunta 1. Programando en Basic
Todos hemos hecho alguna vez el famoso programita en basic de
10 PRINT “No instalaré un Hasefroch”
20 GOTO 10

¿Cual es la forma más sencilla de hacer este programa en Linux?
Respuestas.
Tenemos varias, aunque la mejor de todas era la que usaba el comando yes.
#yes “No instalaré Hasefroch”

Otras opciones fueron
#while [ 0 ];do echo no instalaré un hasefroch;done
#for(;;echo(“No instalaré un Hasefroch”));
Pregunta 2. Últimos 10 logins
El objetivo de esta pregunta era saber los últimos 10 logins que se han realizado en nuestra máquina
Respuesta
Esta era una de las preguntas más sencillas y casi al momento tuvimos la respuesta correcta: el comando last con la opción -10.
Pregunta 3. Cómo matar los procesos de un usuario
Estamos comodamente en nuestra máquina y vemos al usuario hax0r conectado. ¿Como podemos matar todos sus procesos?
Respuesta
Utilizando la instrucción slay
#slay -9 hax0r o slay -KILL hax0r
Otras respuestas fueron:
Usando la instrucción skill
#skill -9 hax0r
con un bash script
for i in `ps axu | grep ^hax0r| awk {‘print $2’}`; do kill $i; done
con perl
ps -u hax0r | perl -ne ‘system(“kill”,”-9″,$1) if /^\s*(\d+)/;’
y apagando la máquina con un shutdown 😀
Pregunta 4. ¿Qué es un jiffie?
Una pregunta de kernel hacking
Respuestas
Sacadas de diversas fuentes como esta(1) o esta otra(2)
Un jiffie es la duración de un tick del reloj del sistema de nuestro procesador.

Pregunta 5. Forma de saber la IP sin ser root
Sacada de la lista de debian-spanish hemos visto la cantidad de respuestas que nos han dado los bulmeros 🙂
Respuestas

  • /sbin/ifconfig
  • BitchX lala irc.pito.com y /whois lala
  • Conectarse a una pagina de las que te da la ip desde la que te conectas
  • netstat -an
  • le pongo una pistola al root y le amenazo
  • Ingenieria social (mandandole un mail o algo x”DDD)
  • vim /etc/network/interfaces (que distro es? XD)
  • Mirar los logs de otra máquina
    Pregunta 6. Deteccion de marcianos llegando a nuestra máquina
    La pregunta era ¿Como podemos habilitar un filtro para que los marcianos no entren a
    través de la red? y no me había fumado nada 😀
    En las respuestas averiguamos que son los marcianos y como podemos habilitar un filtro para evitarlos.
    Respuestas
    El filtro se conseguía de la siguiente forma
    echo 1 > /proc/sys/net/ipv4/conf/ethX/rp_filter

    Y para que queden “retratados”:
    echo 1 > /proc/sys/net/ipv4/conf/ethX/log_martians

    En debian basta definir a yes la variable spoofprotect en el archivo /etc/network/options

    La gente muy perezosa a la hora de traducir y no tanto a la hora de hacer copiar y pegar 🙂

    http://foldoc.linuxguruz.org/foldoc.php?Martian(3)
    Packets that turn up unexpectedly on the wrong network because of bogus
    routing entries. Also a packet which has an altogether bogus
    (non-registered or ill-formed) internet address, such as the test loopback
    interface [127.0.0.1]. Such a packet will come back labelled with a source
    address that is clearly not of this earth. “The domain server is getting
    lots of packets from Mars. Does that gateway have a martian filter?”

    http://lists.suse.com/archive/suse-security/2000-Feb/0012.html(4)
    A martian packet comes from a bogus IP address, i.e. one “not of this
    world”. For example, there are some blocks of IP addresses that are
    reserved for systems not connected to the Internet (e.g. 10.0.0.0). If a
    machine is claiming to use such an address and can find a router that is
    willing to believe it, the result would be a martian packet.

    http://www.tuxedo.org/~esr/jargon/html/entry/martian.html(5)
    A packet sent on a TCP/IP network with a source address of the test
    loopback interface [127.0.0.1]. This means that it will come back labeled
    with a source address that is clearly not of this earth. “The domain
    server is getting lots of packets from Mars. Does that gateway have a
    martian filter?”

    http://www.averillpark.net/OpenBSD/FW-HowTo.html(6)
    (the martians list really should include the test network, 192.0.2.0/24
    as well, but in our example, we’re pretending it’s globally routed space)

    192.168.0.0/16, 172.16.0.0/12, and 10.0.0.0/8 are RFC 1918 private space.
    127.0.0.0/8, 169.254.0.0/16, 240.0.0.0/4, 192.0.2.0/24, and 0.0.0.0/32
    are special use space.

    martians=”{ 192.168.0.0/16, 172.16.0.0/12, 10.0.0.0/8, 127.0.0.0/8,
    169.254.0.0/16, 240.0.0.0/4, 0.0.0.0/32 }”

    Pregunta 7. ¿Para que sirve el System.map?
    Esta vez si que lo tradujeron un poco 🙂
    Respuestas
    Traducción del original de http://www.kernelnewbies.org/faq/(7)
    System.map es un archivo (hecho con nm) que contiene los nombres de los
    símbolos y direcciones del kernel de linux.
    se usa principalmente para debugging, un pequeño extracto:

    valor(hex) tipo nombre
    00000000 A agp_frontend_cleanup
    00000010 A usbdevfs_cleanup
    00000090 A usb_stor_exit

    más info sobre los tipos: man nm
    Pregunta 8. ¿Qué es el char-major-10-135?
    Pregunta recursiva en cualquier foro de linux

    Can´t locate char-major-10-135
    ¿Qué es?
    ¿Por qué me saca este error?
    ¿Para qué sirve?
    ¿Por qué es una pregunta frecuente?
    Respuestas
    > ¿Que es?

    w00g@vito:~$ cat /etc/modules.conf | grep 10-135
    alias char-major-10-135 rtc

    rtc = Real Time Clock.

    [ Character Devices > Enhanced Real Time Clock Support ]

    > ¿Por que me saca este error?

    no se puede cargar el módulo rtc, puede ser que:

    – no exista el device, en ese caso, mknod /dev/rtc c 10 135
    – no se haya compilado con esa opción

    > ¿Para que sirve?

    proporciona acceso al reloj interno, generalmente se accede a él mediante el
    programa /sbin/hwclock.

    > ¿Por que es una pregunta frecuente?

    si compilamos un kernel desde cero no se activa por defecto. Se puede ver
    si hay problemas en /etc/modules.conf haciendo un depmod -a.

    Pregunta 9. Cambiando cadenas de texto
    Tenemos ~/doc donde hay multiples ficheros de texto (subdirectorios
    incluidos) y queremos cambiar la cadena “Windows” por “Hasefroch” en
    todos ellos ..

    ¿Cual es la manera más sencilla?
    Respuestas
    Una sola respuesta usando perl, aquí creo que aun podemos encontrar respuestas más cortas 🙂

    find ~/doc -type f -exec perl -pi \
    -e ‘s/windows/Hasefroch/gi’ {} \;

    Pregunta 10. ¿Cómo puedo saber que particiones montar?
    Haciendo un #df puedo ver las particiones que tengo montadas, como puedo saber que particiones están sin montar.
    Respuestas
    Las respuestas fueron en la línea de hacer un fdisk -l o bien a base de mirar el /etc/fstab. Las que se quedaron en el tintero fueron las de revisar las particiones que detecta linux al arrancar (dmesg) u otras más rebuscadas como usar grub con lo que además sabemos el tipo de partición.
    Pregunta 11. ¿Cómo enviar un adjunto por consola?
    Estando en una cónsola queremos enviar un adjunto por correo, hay varias soluciones dependiendo si el fichero es binario o de texto.
    Respuestas
    La mejor de todas es usando el comando mpack.
    #mpack -s “Un subject” un_fichero [email protected]
    Las otras opciones pasaban por utilizar uuenconde, un gestor de correo en consola como mutt o pine y para el caso de adjuntos de texto
    #cat adjunto_de_texto | mail [email protected]
    Pregunta 12. Escalando jpgs
    ¿Como escalariais de forma sencilla todos los jpegs de un directorio a
    640×480?
    Respuestas
    Dos respuestas correctas usando la misma utilidad (convert)
    #for i in *.jpg; do convert -resize 640×480 $i $i; done
    y en perl

    #!/usr/bin/perl

    while(<*.jpg>) system(“/usr/bin/X11/convert”, “-size”,”640×480″, $_, $_);

    Agradecimientos
    Pues a toda la gente que ha contestado preguntas cronos, Tomeu Borras, carcoco, drslump, Oriol Raventos, MAC, Xus, Victor, atilax, Suki, Jander, Heimy, Domingo Fiesta Segura, Jesus Roncero, Benjamí, jgomsi, mkd, kiko, Ahmed Ibn Qark, Julian Hernandez, daneel, joanmi, cuoyot y David Gironella.
    No hay puntuaciones ya que la ventaja con la que os habría ganado os hubiese deprimido 😛 además el objetivo del trivial era aprender cosa no competirLista de enlaces de este artículo:


  • http://www.jargon.net/jargonfile/j/jiffy.html
  • http://www.byte.com/documents/BYT19991228S0001/
  • http://foldoc.linuxguruz.org/foldoc.php?Martian
  • http://lists.suse.com/archive/suse-security/2000-Feb/0012.html
  • http://www.tuxedo.org/~esr/jargon/html/entry/martian.html
  • http://www.averillpark.net/OpenBSD/FW-HowTo.html
  • http://www.kernelnewbies.org/faq/
  • Este post ha sido traido de forma automatica desde https://web.archive.org/web/20140625063149/http:/bulma.net/body.phtml?nIdNoticia=1409 por un robot nigromante, si crees que puede mejorarse, por favor, contactanos.


    Deja una respuesta

    Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

    Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.