martes, 11 de diciembre de 2007

SUID y SGID: ejecutando ficheros con permisos de propietario

Fuente: LinuTeca

Además de los permisos de lectura(r), escritura(w), ejecución(x) y el bit pegajoso (t) existen otros dos no tan conocidos, que son el suid (set-user-id) y el sgid (set-group-id).

Con el primero conseguimos que el usuario ejecute el fichero con permisos de propietario independientemente quien sea el propietario o el grupo e incluso sin importar los permisos del mismo. Este bit o permiso se activa de la siguiente forma:

root@macbook:~# ls -l .
total 4
drwxr-xr-x 2 root root 4096 2007-11-01 22:02 Desktop
-rw-r–r– 1 root root 0 2007-11-26 21:22 prueba
-rw-r–r– 1 root root 0 2007-11-26 21:22 prueba2
root@macbook:~# chmod u+s prueba
root@macbook:~# ls -l
total 4
drwxr-xr-x 2 root root 4096 2007-11-01 22:02 Desktop
-rwSr–r– 1 root root 0 2007-11-26 21:22 prueba
-rw-r–r– 1 root root 0 2007-11-26 21:22 prueba2

Después de ejecutar el comando chmod podemos observar en el fichero prueba como el permiso de ejecución del usuario en vez de contener una “x”, contiene una “S”, la cual indica que el permiso de suid sobre el fichero está activo.

El permiso sgid funciona de igual forma que el suid pero sólo podrán ejecutar el fichero los usuarios pertenecientes al grupo del mismo y para activarlo se procede de forma parecida:

root@macbook:~# ls -l
total 4
drwxr-xr-x 2 root root 4096 2007-11-01 22:02 Desktop
-rwSr–r– 1 root root 0 2007-11-26 21:22 prueba
-rw-r–r– 1 root root 0 2007-11-26 21:22 prueba2
root@macbook:~# chmod g+s prueba2
root@macbook:~# ls -l
total 4
drwxr-xr-x 2 root root 4096 2007-11-01 22:02 Desktop
-rwSr–r– 1 root root 0 2007-11-26 21:22 prueba
-rw-r-Sr– 1 root root 0 2007-11-26 21:22 prueba2

Aquí la diferencia está en que hemos ejecutado el comando sobre el fichero “prueba2″ y podemos ver al hacer un ls -l que ahora en el fichero prueba2 en la parte de ejecución de grupo es donde aparece la “S”.

Hay que tener cuidado con dar estos permisos en el sistema ya que si por ejemplo en un servidor permitimos a los usuarios montar o desmontar carpetas con permisos de propietarios podrían borrar todos los datos de todos los usuarios, asi que ya sabéis, mucha prudencia…

Koders: Fuente de conocimiento para programadores

Fuente: ThinkUbuntu

Si eres programador, esta entrada te DEBE interesar…

«Koders facilita a los desarrolladores la tarea de encontrar código fuente que resuelva los típicos problemas de desarrollo con los que se encuentran, gracias a un vasto índice de código que ya funciona, de toda una variedad de proyectos Open Source. En muchos casos podrás encontrar un código que resuelva exactamente lo que necesitas, en otros casos tal vez una solución al 80% — en la que el código ya existente te sirva haciendo mínimas modificaciones.»

El proyecto Koders nos ofrece un servicio de buscador de subrutinas y scripts en distintos lenguajes de programación (Asp, C, C#, C++, Delphi, Fortran, Java, JavaScript, Perl, PHP, Python, Ruby, SQL, Tcl, VB, VB.Net). Como veis predominan los más importantes.

Además el proyecto no es solo un buscador por lenguaje de programación sino que es un buscador que permite indexación por tipos de licencias.

Una de las cosas que me parecen más interesantes del proyecto es sin duda el acercamiento real al programador, ya que se ha creado un plugin para eclipse para ofrecernos el servicio de buscador desde nuestro querido IDE (también existen plugins disponibles para Microsoft Visual Studio 2003 y 2005/2008). Eso si que es comodidad :)

eclipse plugin
Plugin for Eclipse 3.x
studio plugin
Plugin for Visual Studio 2005/2008

Personalmente lo veo fundamental. Es mejor perder 10 segundos en comprobar si ya se inventó la rueda y reutilizarla que tener que perder 10 horas en inventarla tu mismo.

Visto en GenLinux y Microsiervos

Valorando Linux Mint y Sabayon

Fuente: JavierH

Estos días he probado dos distribuciones nuevas para mí, Linux Mint y Sabayon. Después de ponerlas a prueba y mirar en sus entrañas haré una valoración sobre ellas.

Linux mint

Distro basada (su última versión) en Ubuntu Gutsy 7.10, por lo tanto podemos disfrutar de todos los lujos de gutsy (paquetería, configuración…), pero ¿qué es lo que realmente le diferencia de Ubuntu y que tiene de especial? Su aspecto, si comparamos un Ubuntu Gutsy y un Linux Mint ambos recién instalados, la diferencia de belleza es grande.

Aparte incorpora un menú “inicio” muuuy intuitivo con las aplicaciones muy bien organizadas (daba gusto moverse por ese menú).

El actualizador de paquetes tiene un aspecto nuevo, más amigable, más opciones… Añadir que la carga del sistema es más rápida que la propia Ubuntu y tras la instalación un breve cuestionario aparecerá para preguntarnos sobre una configuración básica del sistema.

Fallos:

En mi caso al menos me las he visto amargas para poder arrancarlo en condiciones (ya que misteriosamente un archivo de configuración del usuario se había perdido), con una simple reinstalación se solucionó.

El actualizador a diferencia del que tiene Ubuntu, está buscando actualizaciones constantemente (o en periodos muy cortos de tiempo).

Valoración:

Es una distribución a tener en cuenta, tiene mucho futuro, incluso podría ser competencia directa de Ubuntu (la pobre ubuntu es bastante horrible recién instalada). Esperemos que en futuras versiones mejoren pequeños fallos.

sabayon linux

Distribución basada en Gentoo Linux. Tiene una gran diferencia con éste y es que el sistema base no lo compila, sino que ya está compilado, de Gentoo ha heredado su arma más potente, portage.

Esta distro, a diferencia de LinuxMint te ofrece varias isos de su última versión (instalación mínima, instalación completa, edición profesional…). En la versión completa (4.2GB) que he descargado cuenta con un instalador del estilo de Ubuntu (mejor diría yo) en el que te ofrece elegir el escritorio y la paquetería básica para administración (samba, servidor de impresión, servidor de DNS…).

Al arrancar por primera vez (ya disponemos de aceleración gráfica) podemos ver que ya tenemos un montón de programas instalados (juegos en su gran mayoría).

Fallos:

Quizá el único gran fallo es la falta de comunidad, la comunidad hispana es muy pequeña aunque la comunidad a nivel mundial tampoco es que sea demasiado grande. A falta de ponerme en serio con esta distro, a primera vista falta bastante información sobre el sistema, no dejan muy claro que diferencias hay entre su variedad de versiones.

Lo único que espero es que los foreros de Sabayon no tengan la misma soberbia que muchos foreros de Gentoo cuando frecuentaba aquellos lares.

Instalación de Ubuntu 7.10 en una PS3

Fuente: Ubunteate

Via Be Linux my Friend, me encuentro con este fantástico tutorial donde aprenderás a instalar ubuntu 7.10 en una PlayStation 3..

Lo malo de esto es que tenemos que tener unos conocimientos mínimos de inglés, cosa que no todos tienen, asi que me he decidido a traducirlo, en vez de daros el link y que os jodais..

Pues vamos a ello, instalaremos Ubuntu Gutsy Gibbon 7.10 en una PS3 como segundo Sistema Operativo, tranquilos, no sustituirá al Sistema Operativo nativo, llamado XMB, asi que comencemos con la acción.

Necesitaremos

  1. Un PenDrive o una memoria USB, pero cuidado, la PS3 sólo puede leer SD miniSD Memory Card, Memory Stick Pro Duo y CompactFlash. También vale un HDD portátil, pero eso si, con el sistema de archivos FAT32 en él.
  2. Teclado y ratón conectados a la PS3.
  3. Y como no, Ubuntu Gutsy Gibbon 7.10 grabado en un CD.

Preparando la PlayStation 3

Tenemos que particionar disco duro de la PS3 o de lo contrario no podremos instalar nuestro querido SO, en el registro hay que ir a Configuración > Configuración del sistema, nos desplazamos hasta abajo hasta encontrar “Formato de Utilidad” o en inglés “Format Utility“, pulsamos “X” y vamos hasta el final donde pone “Formato del Disco Duro” en inglés “Format Hard Disk(es la última opción). Nos preguntará si queremos formatear el HDD, le diremos que si y ahora debemos escoger la configuración, escogeremos “Custom“, a continuación, seleccionamos “Allot 10GB a la Otra OS” en inglés “Allot 10GB to the Other OS” y hacemos un “Quick Format“. Cuando termine, reiniciamos la PS3 y ya la tendremos lista..

Instalación de KBoot

Ahora crearemos en su PenDrive o en su HDD externo (o lo que hayais usado) una carpeta llamada “PS3“, dentro de esta crearemos otra, que se llamará “OTHEROS” y ponemos otheros.bld en esta última carpeta, después vamos a “Configuración -> Configuración del sistema -> Instalar Otros Os“, y pulsamos X para detectar e instalar KBoot.

Instalar Ubuntu

Pues bien, vamos a “Configuración -> Configuración del sistema -> Default System” y seleccionamos “Other OS“, nos preguntará si estamos seguros de iniciar otro SO le decimos que si y esperamos a que reinicie la consola, después insertamos el CD de Ubuntu y cargará, lo instalais normalmente y ya esta!!!

Volver a XMB

Vale, muy bonito, pero cómo vuelvo después al sistema operativo por defecto de la PS3? Fácil, reiniciamos Ubuntu, y en la KBoot escribimos lo siguiente:

boot-game-os

Quedarse con estas palabras, os serán de ayuda, pulsamos Enter y ya está!

Conclusiones

Ubuntu está perfectamente capacitado para reconocer todo el hardware de la PS3 y para hacerlo funcionar a la perfección, al igual que la unidad de Blu-ray, la Gelic tarjeta de red, los puertos USB y Bluetooth, y el sistema de sonido! La instalación tarda unos 40 minutos (cuatro veces más tiempo que sobre la base de un PC), Ubuntu ha demostrado ser bastante rápido en la PS3.

Pros:

  • Se reconocen a todos los componentes de hardware de su PS3 la consola.
  • Se ejecuta bastante rápido.
  • Facilidad de instalación.
  • Serás libre hasta en tu consola.

Contras:

  • Instalación demasiado lenta.

Bueno esto es todo, lo he traducido lo mejor que he podido, espero que os haya servido..

Además, podeis hacer lo mismo con otras distribuciones, como son Kubuntu, openSUSE..

Enlace Tutorial Original | Tutorial en Softpedia (Inglés)

Ndiswrapper 0.50 y Wicd

Fuente: Magarto

Por desgracia tengo que usar ndiswrapper, ya que madwifi me hace perder demasiada señal como para poder hacer uso de ello, así que paso a contaros mi experiencia.

Llevo años usando ndiswrapper y, en el último año y medio he estado usando wifi-radar. Mi experiencia es mala, simplemente podía salir al paso. Desde que han lanzado la versión 0.50 de ndiswrapper la experiencia ha sido mucho mejor ya que ahora sí que puedo cambiar la dirección MAC cuando desde la versión 0.45 no podía hacer uso de esto.

A raíz de un comentario en la entrada anterior, he probado el gestor de conexiones wicd, por lo que he dejado de lado a wifi-radar. Finalmente no creo que vuelva a usar wifi-radar ya que, a pesar de ser muy chulo, no permite reconexiones, y el demonio no funciona como debiera,ocasionando problemas en /etc/rc.local cuando lo cargo, salvo que lo coloque al final. La pega que le pongo a wicd es que, si no me equivoco, no permite poner una jerarquía de conexión pudiendo sólo autoconectarse a una, a la que pongas, no priorizando las que tú selecciones como ocurría en wifi-radar o en cualquier gestor decente.

Paso a contaros cómo instalar ambos en Ubuntu:

- Añadimos el repositorio de wicd

sudo nano /etc/apt/sources.list

y añadimos al final

## Wicd
deb http://apt.wicd.net gutsy extras

Si usáis otra versión diferente de Gutsy, vambiar gutsy por el nombre de esa distro (hay repositorios desde Dapper en adelante)

Guardamos cambios (Ctrl + o) y salimos (Ctrl + x)

Actualizamos e instalamos:

sudo apt-get update && sudo apt-get install wicd

Nota: Si tenéis network-manager y/o wifi-radar, desinstalará estos programas.

- Necesitáis instalar ndiswrapper, para ello hacemos lo siguiente:

curl -O http://kent.dl.sourceforge.net/sourceforge/ndiswrapper/ndiswrapper-1.50.tar.gz
tar -xvvzf ndiswrapper-1.50.tar.gz
cd ndiswrapper-1.50
sudo apt-get install build-essentials
make
sudo make install
sudo rmmod ndiswrapper
sudo modprobe ndiswrapper

- Doy por hecho que ya lo teníais antes instalado, sino debéis instalar el driver de vuestra tarjeta, el .inf. Si no es así, debéis buscar en un buscador ndiswrapper y el nombre de vuestra tarjeta, entonces haced los pasos sólos de descargar los drivers de Windows XP de vuestro driver, descompresión de estos drivers (posiblemente con cabextract) e instalación mediante sudo ndiswrapper -i archivo.inf

- Ahora pasamos a configurar wicd:

sudo /opt/wicd/gui.py

Tras configurarlo a nuestro gusto, tendremos que hacer que se autoejecute al inicio. Debe ser ejecutado después de dbus.

Para no complicarme la vida con lo anterior, en mi caso, hago que se ejecute el demonio desde /etc/rc.local

sudo nano /etc/rc.local

Añadimos al final, pero antes de exit

sudo /opt/wicd/daemon.py