Ahora que empezando a hacer cosas de madera, tal vez tenga cosas para mostrar y comentar, vamos a ver si me vuelvo a enganchar con el blog, hace mas de tres años que no escribo nada.
miércoles, 11 de abril de 2012
martes, 18 de noviembre de 2008
Como deshacer un commit en SVN
Si, ya se que esto no es ninguna ciencia, pero nunca me acuerdo este comando y cuando lo necesito tengo que andar buscando por toda la web porque misteriosamente no esta muy bien documentado.
Supongamos que queremos hacer un rollback de la revisión 1234 del trunk de my_project. Desde el directorio de trabajo local (si no tiene archivos modificados, mejor) ejecutamos:
svn merge -c -1234 file:///path/my_project/trunk
Si, a la revisión hay que ponerle un guión adelante. Es necesario para lograr el efecto de 'rollback'.
Esto va a dejar nuestro repositorio local actualizado con los cambios para deshacer la revisión indicada, entonces hacemos un svn commit y listo.
Supongamos que queremos hacer un rollback de la revisión 1234 del trunk de my_project. Desde el directorio de trabajo local (si no tiene archivos modificados, mejor) ejecutamos:
svn merge -c -1234 file:///path/my_project/trunk
Si, a la revisión hay que ponerle un guión adelante. Es necesario para lograr el efecto de 'rollback'.
Esto va a dejar nuestro repositorio local actualizado con los cambios para deshacer la revisión indicada, entonces hacemos un svn commit y listo.
jueves, 16 de octubre de 2008
Se viene la release party para Intrepid

El ágape se celebrará el jueves 20 de Octubre, en el bar Dr Mason (Aráoz 1199, Palermo).
Es un buen momento para conocer en persona a algunos de los que constantemente leemos via mails o en los foros. Por supuesto, nunca faltan un par de cervecitas, y algúna partida de pool.
Más información en la página de Ubuntu-ar, no es necesario registrarse, pero sí es útil para saber cuantos vamos a ser.
Nos vemos!
miércoles, 10 de septiembre de 2008
Cómo ejecutar un programa no ejecutable
En un post anterior puse un problema que me pareció muy interesante para ejercitar la creatividad de los sysadmins/linuxeros ahí afuera.
El tema era como volver a darle permisos de ejecución si le sacamos estos permisos al chmod. En los comentaros se publicaron respuestas relacionadas con usar lenguajes de scripting (en el enunciado decia que no se podía compilar) pero la idea era ser un poco más creativos.
La primer solución que encontre fue:
Lo interesante de esto es que los permisos de ejecucion de la copia original se mantienen al 'llenar' el archivo con otro contenido.
Isart, quien me propuso el acertijo, encontró otra un poco mas simple que es:
Yo sabía que tenía que haber otra forma de ejecutar un archivo a la fuerza, y me encontré con esto:
Si lo dejamos estrictamente en el enunciado del acertijo, cualquiera de las tres sirve para cambiar los permisos de un archivo sin que el chmod sea ejecutable, pero la última me llamo mucho la atención porque incluso la puedo usar como un usuario normal sin ningún privilegio.
¿Puede ser esto una falla de seguridad?
No creo que sea demasiado grave porque no encontre la forma de cambiar el propietario de un archivo a root con un usuario común, pero hay que tener en cuenta que un usuario comun puede ejecutar cosas sin importar los permisos que tengan los archivos (bueno, por lo menos tiene que tener lectura)
El tema era como volver a darle permisos de ejecución si le sacamos estos permisos al chmod. En los comentaros se publicaron respuestas relacionadas con usar lenguajes de scripting (en el enunciado decia que no se podía compilar) pero la idea era ser un poco más creativos.
La primer solución que encontre fue:
cp otro_ejecutable xxx
cat /bin/chmod > xxx
mv xxx /bin/chmod
Lo interesante de esto es que los permisos de ejecucion de la copia original se mantienen al 'llenar' el archivo con otro contenido.
Isart, quien me propuso el acertijo, encontró otra un poco mas simple que es:
cp otro_ejecutable xxx
cp --no-preserve=mode /bin/chmod xxx
mv xxx /bin/chmod
Yo sabía que tenía que haber otra forma de ejecutar un archivo a la fuerza, y me encontré con esto:
/lib/ld-linux.so.2 /bin/chmod
Si lo dejamos estrictamente en el enunciado del acertijo, cualquiera de las tres sirve para cambiar los permisos de un archivo sin que el chmod sea ejecutable, pero la última me llamo mucho la atención porque incluso la puedo usar como un usuario normal sin ningún privilegio.
¿Puede ser esto una falla de seguridad?
No creo que sea demasiado grave porque no encontre la forma de cambiar el propietario de un archivo a root con un usuario común, pero hay que tener en cuenta que un usuario comun puede ejecutar cosas sin importar los permisos que tengan los archivos (bueno, por lo menos tiene que tener lectura)
lunes, 8 de septiembre de 2008
Acertijo para sysadmins
Hoy a la tarde, Isart me propuso un acertijo interesante, que suena más a pregunta de examen que otra cosa, pero me dio un buen rato de entretenimiento super geek.
Seguramente más de uno lo conoce, pero esta bueno para investigar un poco sobre el sistema, aca va el enunciado:
Cada uno encontró una solución diferente, y después encontré una tercera solución más académica. Conclusión, somos un poco chapuceros, pero creativos :P
Que se diviertan, y dejen que el resto se divierta un rato antes de postear alguna solución ;)
Seguramente más de uno lo conoce, pero esta bueno para investigar un poco sobre el sistema, aca va el enunciado:
Alguien ejecutó el comando:chmod -x /bin/chmod
¿Cómo lo arreglás sin reinstalar ni recompilar ningún programa?
Cada uno encontró una solución diferente, y después encontré una tercera solución más académica. Conclusión, somos un poco chapuceros, pero creativos :P
Que se diviertan, y dejen que el resto se divierta un rato antes de postear alguna solución ;)
domingo, 1 de junio de 2008
Firefox Download Day 2008

Actualización: Ya está definido el día del evento: el 17 de Junio (el próximo martes) es el día elegido para poner a Firefox en el libro Guinness.
Ayuden a incluir el software libre en el libro Guinness, y de paso aprovechen para descargar y usar la nueva versión de este excelente navegador.
Firebug para Firefox 3
Para los que extrañabamos el firebug en Firefox 3, acaba de sarlir una beta de la release 1.2, que funciona con la nueva versión del navegador.
Para el que no lo conocía, Firebug es un plugin indispensable para cualquiera que tenga que hacer algún trabajo relacionado con páginas web: desde el diseño (o maquetado) hasta debugging, SEO, etc.
Para instalarlo, simplemente hagan click en el link Firebug 1.2 en la página de betas de Firebug. Y si... es un beta, y no lo probé demasiado, pero parece que funciona.
Eso sí, para hacerlo funcionar tuve que deshabilitar el plugin Yslow. Se ve que esta diseñado para la versión anterior del firebug y con este no funciona aún, así que si tienen este plugin y al abrir el Firebug no ven los queridos paneles de inspeccion de código, prueben deshabilitando el Yslow.
(gracias a Genki)
Actualización:
Gracias al comentario de Ubuntips, encontré una forma más fácil de instalar el Firebug en Ubuntu. Simplemente hay que buscarlo en los repositorios. De paso busqué otros plugins y también encontré el WebDeveloper. Ubuntu no deja de soprenderme...
Para el que no lo conocía, Firebug es un plugin indispensable para cualquiera que tenga que hacer algún trabajo relacionado con páginas web: desde el diseño (o maquetado) hasta debugging, SEO, etc.
Para instalarlo, simplemente hagan click en el link Firebug 1.2 en la página de betas de Firebug. Y si... es un beta, y no lo probé demasiado, pero parece que funciona.
Eso sí, para hacerlo funcionar tuve que deshabilitar el plugin Yslow. Se ve que esta diseñado para la versión anterior del firebug y con este no funciona aún, así que si tienen este plugin y al abrir el Firebug no ven los queridos paneles de inspeccion de código, prueben deshabilitando el Yslow.
(gracias a Genki)
Actualización:
Gracias al comentario de Ubuntips, encontré una forma más fácil de instalar el Firebug en Ubuntu. Simplemente hay que buscarlo en los repositorios. De paso busqué otros plugins y también encontré el WebDeveloper. Ubuntu no deja de soprenderme...
sábado, 17 de mayo de 2008
¿Es Ruby tan bueno como dicen?
Hace unos años pasé por la disyuntiva de elegir un nuevo lenguaje de programación y, como les pasará a unos cuantos, llegué a la definición entre python y ruby. En ese momento me decidí por python, ahora no recuerdo bien los motivos en detalle, pero hasta ahora no me arrepentí.
Hoy encontré este post (larguísimo) de por que ruby no es un buen lenguaje. Sinceramente, es la primera vez que leo algo escrito por este tipo, pero a menos que le haya puesto muy pocas ganas a la comparación (o al aprendizaje de ruby), ruby esta en problemas.
¿Es realmente ruby tan malo e inconsistente? Ya sabía que ruby no era muy bueno en cuanto a performance, pero e sorprende que maneje tan mal el soporte de unicode, y los metodos/funciones que hacen cosas similares con nombres diferentes, y peor aun los que hacen cosas diferentes con nombres similares...
Antes que lo lean, aclaro que al tipo le gusta python, y cada tanto manda algunos comentarios que no hacen más que meter ruido, pero mas allá de eso el post me parece muy bueno, y con muchos links a otros articulos relacionados, también interesantes.
Por supuesto, este post generó un montón de comentarios, críticas y también tenía algunos errores. La semana pasada publicó otro post con algunas correccciones y comentacios interesantes.
Hoy encontré este post (larguísimo) de por que ruby no es un buen lenguaje. Sinceramente, es la primera vez que leo algo escrito por este tipo, pero a menos que le haya puesto muy pocas ganas a la comparación (o al aprendizaje de ruby), ruby esta en problemas.
¿Es realmente ruby tan malo e inconsistente? Ya sabía que ruby no era muy bueno en cuanto a performance, pero e sorprende que maneje tan mal el soporte de unicode, y los metodos/funciones que hacen cosas similares con nombres diferentes, y peor aun los que hacen cosas diferentes con nombres similares...
Antes que lo lean, aclaro que al tipo le gusta python, y cada tanto manda algunos comentarios que no hacen más que meter ruido, pero mas allá de eso el post me parece muy bueno, y con muchos links a otros articulos relacionados, también interesantes.
Por supuesto, este post generó un montón de comentarios, críticas y también tenía algunos errores. La semana pasada publicó otro post con algunas correccciones y comentacios interesantes.
martes, 13 de mayo de 2008
Vulnerabilidad en openssh - como arreglarla
Aviso importante para los que usan Debian y sus derivados (entre ellos Ubuntu)!
Para el que todavía no se enteró, esta mañana se reportó una falla grave de seguridad en el OpenSSH para Debian y Ubuntu. Resumiendo, las claves generadas después del 2006 son potencialmente vulnerables dado que las función que genera números aleatorios en openssl era predecible.
Gracias a la velocidad de respuesta del software libre, ya están disponibles los paquetes de actualización para Debian y Ubuntu. Supongo que otras distribuciones pueden tener el mismo problema, pero no lo comprobé.
Para solucionar el problema de seguridad hay que seguir los siguientes pasos.
En primer lugar, actualicen sus sitemas:
$ sudo apt-get update
$ sudo apt-get upgrade
Con esto se arreglan los problemas de las futuras claves que se generen.
Para validar las claves actuales, los desarrolladores de Debian subieron un script para validar las claves personales y de host
$ wget -c http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
$ gunzip dowkd.pl.gz
$ chmod u+x dowkd.pl
$ ./dowkd.pl user
$ ./dowkd.pl host hostname
Si al script le pasamos el argumento user, chequea las claves del usuario. Con el argumento host, se puede indicar un nombre de host al cual se le quiere hacer el testeo.
Si las claves fueron generadas con esta versión defectuosa del openssl, seguro el script va a dar algun mensaje diciendo que la clave es débil. En este caso hay que regenerar las claves del usuario y del host.
Para regenerar las claves de usuario:
$ ssh-keygen -t dsa -b
Para regenerar las claves del host:
$ sudo rm /etc/ssh/ssh_host_{dsa,rsa}_key*
$ sudo dpkg-reconfigure -plow openssh-server
Recuerden que deben limpiar el archivo ~/.ssh/known_hosts y volver a transmitir su clave pública a sus servidores, o es posible que no puedan volver a entrar ;)
Para el que todavía no se enteró, esta mañana se reportó una falla grave de seguridad en el OpenSSH para Debian y Ubuntu. Resumiendo, las claves generadas después del 2006 son potencialmente vulnerables dado que las función que genera números aleatorios en openssl era predecible.
Gracias a la velocidad de respuesta del software libre, ya están disponibles los paquetes de actualización para Debian y Ubuntu. Supongo que otras distribuciones pueden tener el mismo problema, pero no lo comprobé.
Para solucionar el problema de seguridad hay que seguir los siguientes pasos.
En primer lugar, actualicen sus sitemas:
$ sudo apt-get update
$ sudo apt-get upgrade
Con esto se arreglan los problemas de las futuras claves que se generen.
Para validar las claves actuales, los desarrolladores de Debian subieron un script para validar las claves personales y de host
$ wget -c http://security.debian.org/project/extra/dowkd/dowkd.pl.gz
$ gunzip dowkd.pl.gz
$ chmod u+x dowkd.pl
$ ./dowkd.pl user
$ ./dowkd.pl host hostname
Si al script le pasamos el argumento user, chequea las claves del usuario. Con el argumento host, se puede indicar un nombre de host al cual se le quiere hacer el testeo.
Si las claves fueron generadas con esta versión defectuosa del openssl, seguro el script va a dar algun mensaje diciendo que la clave es débil. En este caso hay que regenerar las claves del usuario y del host.
Para regenerar las claves de usuario:
$ ssh-keygen -t dsa -b
Para regenerar las claves del host:
$ sudo rm /etc/ssh/ssh_host_{dsa,rsa}_key*
$ sudo dpkg-reconfigure -plow openssh-server
Recuerden que deben limpiar el archivo ~/.ssh/known_hosts y volver a transmitir su clave pública a sus servidores, o es posible que no puedan volver a entrar ;)
sábado, 3 de mayo de 2008
Instalación de Hardy en la Macbook
Estuve probando la instalación de Ubuntu Hardy en modo 32 bits en la MacBook, ya que había encontrado algunos problemas con la paca wifi al actualizar la versión de 64 bits.
La instalación fue sorprendentemente rápida, en unos 25 minutos la máquina estaba instalada y corriendo con la versión de 32 bits, pero tuve los mismos problemas con la placa wifi. Tuve que compilar los módulos a mano, pero no se asusten que es algo muy simple, solo un par de comandos.
Por ahora parece que me quedo con los 32 bits. El consumo de memoria es un poco menor, y aparentemente debe haber alguna diferencia en los drives de video (placa intel) ya que el X levanta un poquito más rápido.
Más allá del problema de la placa wifi, cabe destacar lo fácil y rápido que es instalar Ubuntu. En menos de media hora tenés un sistema funcionando con un sistema operativo de última generación, en el idioma que hayas elegido, y con todas las aplicaciones que un usuario normal pueda necesitar: suite de oficina, un navegador como la gente, mensajería instantánea, reproductor de medios, etc, etc.
La instalación fue sorprendentemente rápida, en unos 25 minutos la máquina estaba instalada y corriendo con la versión de 32 bits, pero tuve los mismos problemas con la placa wifi. Tuve que compilar los módulos a mano, pero no se asusten que es algo muy simple, solo un par de comandos.
Por ahora parece que me quedo con los 32 bits. El consumo de memoria es un poco menor, y aparentemente debe haber alguna diferencia en los drives de video (placa intel) ya que el X levanta un poquito más rápido.
Más allá del problema de la placa wifi, cabe destacar lo fácil y rápido que es instalar Ubuntu. En menos de media hora tenés un sistema funcionando con un sistema operativo de última generación, en el idioma que hayas elegido, y con todas las aplicaciones que un usuario normal pueda necesitar: suite de oficina, un navegador como la gente, mensajería instantánea, reproductor de medios, etc, etc.
Suscribirse a:
Entradas (Atom)