viernes, 14 de diciembre de 2007

Make The Move: web para los que no se deciden a usar software libre

Fuente: ThinkUbuntu

MakeTheMove

Es una página bastante curiosa en la que nos informan sobre las ventajas del código abierto y esta orientada a personas que no quieren dar el salto (”¿Para que hacerlo si con mi SO no me va mal?”). Así que en estas fechas yo os animo a que consigais vuestra distro de Ubuntu (tal y como nos comentaba ViKToR) y con la ayuda de webs como esta intentéis introducir a vuestras personas más allegadas en el mundo de Linux, al cual merece la pena entrar aunque sólo sea por pertenecer a una comunidad tan productiva y tan altruista como la que formamos con estos blogs.

FAQ de Linux

Fuente: JavierH

Mucha gente me pregunta sobre Linux, que es, el porque es mejor o peor, que hace o deja de hacer. Pues este articulo va para ellos y para quien lo quiera leer.

1.-¿Es lo mismo GNU/Linux y Linux?

Pues si nos ceñimos a las definiciones, a como está estipulado, no, no es lo mismo ya que Linux es el núcleo del sistema, el corazón del Sistema Operativo. GNU/Linux aparte de incluir el núcleo (linux) abarca también las aplicaciones (programas) que se ejecutan en este Sistema. Si no lo has entendido, con un dibujito te aclarará tus dudas.

GNU/Linux

En definitiva, llamar Linux al sistema es más práctico y simple para usuarios que creen que Windows® es la única cosa sobre la tierra.

2.- ¿Por qué GNU es un ñu?

“GNU” es el nombre en inglés para el animal que se conoce como “ñu” en castellano

Cuando Richard Stallman comenzó a diseñar GNU, el principal sistema en uso era Unix, que es privativo. Como GNU tiene funciones similares a (y es compatible con) Unix, pero es software libre, usó el término GNU que significa “GNU’s Not Unix” (en castellano, “GNU no es Unix”). Es un acrónimo recursivo… (Si disfruta este tipo de humor, vea lo que significa GNU HURD).

3.- ¿Linux está en mi idioma?

¡Claro! Todas las distribuciones principales están disponibles en varios idiomas, y soportan muchos tipos de teclados.

Al contrario de Windows, todos los idiomas están incluidos en el disco de instalación, así que no hace falta que descargue (o pague) una versión totalmente diferente para cambiar el lenguaje en su computador.

4.- ¿Puedo instalar “el MSN Messenger” y “el Word” en Linux?

No, aunque se puede conseguir que funcione, hay versiones equivalente para Linux de los programas más usados en Windows, podemos ver su equivalencia de Windows en Linux

5.-¿Puedo jugar a los mismos juegos que en Windows?

Si y no. Las multinacionales todavía no han dado el paso de Windows a Linux ni siquiera Windows y Linux, aunque alguna ya está aprendiendo.

Hay juegos famosos (Quake III, Quake IV, Doom III…) que si tienen un instalador para GNU/Linux y se puede jugar sin emularlos, aunque la gran mayoría no tienen este instalador, muchos de ellos se pueden instalar gracias a los emuladores wine y cedega.

6.-Linux se puede bajar de Internet, pero mi Windows también. ¿Qué gano yo?

Primero ganas que no te metan en la carcel. Aunque parezca mentira, Windows cuesta dinero y no solo para empresas y si te lo bajas del eMule o de Bittorrent o de donde sea, es ilegal y está penado con el importe del Windows (más de 100€, depende de la versión) y una multa que no es ninguna tontería.

Con Linux, lo puedes bajar libremente, modificarlo, lanzarle los CD al perro, incluso regalarselo/dejarselo a un amigo y todo eso sin piratear.

Además, con Linux, no tienes que validarlo para poder actualizar el Sistema, que periodicamente te recuerda si tienes actualizaciones, no solo del Sistema Operativo, sino de todas las aplicaciones que tienes instaladas.

7.- Aparte de todo lo que has dicho, ¿qué añadirías?

Añadiría que con Linux no hace falta tener un ordenador potente para que el Sistema Operativo funcione correctamente y de forma fluida, mientras que con Windows necesitas un equipo nuevo o cambiar muchas piezas del equipo cada vez que sacan una versión nueva.

Buscar archivos con unos permisos determinados

Fuente: LinuTeca

Quizá puede que no tenga gran atractivo el poder buscar archivos en el sistemas que tengan ciertos permisos pero ésta es una buena medida de defensa y ataque.

Si queremos tener nuestro sistema bien seguro tendremos que tener los permisos más restrictivos posibles asique necesitamos saber si tenemos algún archivo que no queremos que pueda ejecutar o editar un usuario. Además puede representar un riesgo de cara a nuestros atacantes tener archivos ejecutables y editables por parte de cualquier usuario o que simplemente tengan el bit SUID o SGID activo. Si tenemos en nuestro sistema un archivo con el bit SUID cuyo propietario es root y además puede ser editado por cualquier usuario, estamos dejando abierta una puerta en nuestro sistema para que cualquiera con los conocimientos suficientes de bash scripting haga un código malicioso y lo ejecute como si fuera root.

Para encontrar estos archivos escribiremos en consola el comando:

find / -perm -X -ls

La X de arriba la sustituiremos por los permisos que queremos encontrar como por ejemplo 4000. Esto indica al find que muestre sólo los archivos que tengan el bit SUID activo (4) y que no tengan permisos para nadie (000).
Otro ejemplo, si quisiéramos buscar un archivo que tuviera permisos de rwx en los usuarios y el bit de SUID activo y ningun permiso más para grupos y otros, cambiaríamos la X por 4700.
En resumen el primer número corresponderá al SUID, SGID o sticky bit. 4 para SUID, 2 para SGID y 1 para stiky bit. Los tres siguientes se corresponden con usuario,grupo,otros.
En el caso de que queramos encontrar un archivo que tenga los permios de SUID,SGID y sticky bit sólo habría que sumarlos, como en los permisos normales por ejemplo:

find / -perm 7000 -ls

Si además queremos que nos muestre los archivos que tengan el SUID y que no tengan permisos de usuario, ni grupo, ni otros ‘o’ los que tengan el SUID y permisos rwx en el usuario, podemos hacer una anidación con un or booleano:

find / \( -perm -4000 -o -perm 4700 \) -ls

Con esto ya estarámos dispuestos para buscar fallos en los permisos y poder hacer un ataque o defendernos de los hackers. Pero una cosa más, cuando lo probéis os daréis cuenta de que salen muchos archivos por pantalla y es muy difícil procesar esa información, asique para hacerlo con más calma podemos redirigir la salida a un archivo en vez de a la pantalla asi:

find / \( -perm -4000 -o -perm 4700 \) -ls > archivo.txt

Por úlmito sólo me queda decir que el comando -ls sirve en este caso para mostrarnos no sólo el nombre de los archivos cuando los encuentre sino los permisos y toda la demás información que nos ofrece ‘ls’.

Descarga videos de Youtube sin instalar ningún programa

Ya se ha hablado de dos programas para descargar vídeos de YouTube usando dos programas: PyTube y QTTube. En esta ocasión añado al blog un truquillo para recuperarlos del caché de archivos temporales sin instalar nada.

Fuente: ThinkUbuntu

El otro día estuve hablando con un amigo que me preguntaba como podía descargar un video de Youtube (con extensión .flv) para poder reproducirlo en su ordenador, si había un plugin funcional para firefox o si había alguna forma directa y recordé lo fácil que resulta hacerlo en Ubuntu.

Supongo que la información que os dejo aquí es la misma para todas las versiones de Ubuntu e, incluso, me atrevería a decir que para todas las distros de Linux. Pero que cada uno lo pruebe en su casa.

Para empezar abrimos la página en la que aparezca el video que queremos descargar en formato .flv (Flash Video, los de Youtube, Googlevideo y la mayoría de los que aparecen incrustados en las páginas web) y dejamos que se cargue por completo en el navegador. Una vez cargado en el navegador nos vamos a la carpeta /tmp de nuestro sistema y allí encontraremos un archivo con un nombre parecido a este FlashAvhMRY, lo copiamos a la carpeta de nuestro home que queramos y lo renombramos dándole extensíón .flv, así lo tenemos salvado en nuestro disco duro y podemos verlo cada vez que queramos usando nuestro vlc o mplayer.

Los pasos en consola son estos (recordad que el nombre del archivo de video en la carpeta /tmp podría ser ligeramente distinto y que “$” se refiere al prompt de la consola y no hay que escribirlo):

$ cd /tmp

$ ls -l

$ cp -v FlashAvhMRY /home/vuestro_usuario/Escritorio/nombre_video.flv

Para convertir el archivo .flv a .avi podemos usar ffmpeg. Si no lo tenemos instalado lo hacemos con la siguiente cadena en consola:

$ sudo apt-get install ffmpeg

A continuación abrimos la consola y nos vamos al directorio donde hayamos salvado nuestro Flash Video y escribimos lo siguiente:

$ ffmpeg -i nombre_archivo.flv nombre_archivo.avi

Así hemos salvado nuestro video del youtube para poder verlo en formato .avi cada vez que nos apetezca.

Bombas Fork

Fuente: LinuTeca

Lo primero, ¿en que consisten las bombas fork?, para los que sabéis lo que es un fork, ya os lo imaginaréis pero para los que no lo sepan, se trata de crear procesos hasta que el sistema se vuelve inoperable y hay que reiniciarlo. Esta es una manera muy común de ‘tirar’ servidores si no tienen la proteción adecuada.

Un ejemplo de bomba fork en unix sería el siguiente:

:(){ :|:& };:

En windows sería algo asi:

:s
start %0
goto s

Como en windows está muy claro la explicación la centraré en el elemplo unix.

Tenemos la bomba :(){ :|:& };: que si la escribimos en consola en nuestro Ubuntu (por ejemplo) el sistema se bloqueará, a continuación explico cada carácter.

Los dos puntos ‘:’ van a ser el nombre de nuestra funcion y los paréntesis ‘()’ vacios, contendrán los parámetros de ésta, osea ninguno.

A continuación abrimos la llave ‘{’ para escribir el cuerpo de la función y cuidado porque después hay un espacio. Ahora viene lo interesante, los dos puntos ‘:’ hacen una llamada la misma función recursivamente a través de una tubería ‘|’ y se ejecuta en el background gracias al ‘$’.

Con esto hemos terminado el cuerpo de la función y escribimos un espacio y cerramos la función con ‘}’,ahora indicamos el fin de instrucción con ‘;’ y invocamos a la función ‘:’ que acabamos de crear.

Sólo os aconsejo que no lo provéis sino habéis guardado todos los trabajos abiertos.

Una forma de solucionarlo es cambiando el valor de ‘ulimit’. Si escribimos ulimit en consola aparecerá algo asi:

ekhtor@macbook:~$ ulimit
unlimited

Efectivamente al tenerlo ilimitado llegará un punto en el que la bomba se apodere de toda nuestra memoria y para cambiar el valor a uno más seguro sólo habría que pasarle como parámetro el número de procesos que queremos que ejecute a la vez un usuario. Ejemplo:

ekhtor@macbook:~$ ulimit 5000

ekhtor@macbook:~$ ulimit

5000

Esto depende de cada máquina, unas pueden ejecutar más que otras asique no os la juguéis. Otro dato a tener en cuenta sería el número de usuarios que accederán a nuestra máquina porque si ésta es capaz de ejecutar 5000 procesos, acceden tres usuarios y ejecutan una bomba simultánea entre los tres estarían ejecutando 15000 procesos y nuestra máquina se bloquearía.