12 noviembre 2009 ~ 0 Comments

Microsoft patenta un comando de sistemas tipo Unix

image Esta es una noticia que me pareció del todo extraña y es que hace un par de días (10 de Noviembre) Microsoft patento ante la oficina de patentes de Estados Unidos el comando –sudo

En un principio pensé que era un simple rumor de los que siempre suelen aparecer cuando se refieren Ms, sin embargo buscando un poco di con la patente y esta noticia es del todo cierta. Microsoft adquirió la patente 7,617,530

Siguiendo con el orden de hablar sobre un poco de historia encontramos que el comando –sudo– fue escrito originalmente por Bob Coggeshall y Cliff Spencer en 1980, en el departamento de ciencias de la computación de la Universidad estatal de Nueva York. Luego en 1991 Dave Hieb y Jeff Nieusma escribieron una versión con formato mejorado para el fichero /etc/sudoers bajo contrato con la firma –The Root Group-, versión que posteriormente fue publicada bajo los términos de la licencia publica general de GNU (GNU/GPL).  La versión actual la mantiene el desarrollador de OpenBSD Todd Miller, y esta se distribuye bajo licencia BSD.

Y que es lo que hace sudo?

En ambientes donde varios usuarios utilizan el mismo sistema, puede ser necesario otorgar distintos permisos para que estos puedan ejecutar comandos propios de un usuario administrativo como el root. Pero no es sensato ceder la contraseña de administrador cada vez que el usuario necesite acceder a funcionalidades del sistema o programas propios del administrativo.
Sudo permite entonces implementar un control de acceso altamente granular, distinguiendo que cosas puede ejecutar cada usuario. Si el usuario normal desea ejecutar un comando propio de root (inclusive de otro usuario), sudo verifica en la lista de permisos si el usuario tiene permitida la ejecución del comando, en caso afirmativo sudo se encargada de ejecutarlo.

El encargado de la lista es el archivo de configuración /etc/sudoers que es donde se almacenan las correspondencias entre los usuarios y los comandos de root que pueden ejecutar. Este archivo tiene un funcionamiento delicado pues sudo es muy estricto con su estructura, entonces para evitar fallos existe el comando visudo que permite editar este archivo y hacer una comprobación de los cambios antes de guardarlo.

Siguiendo con este archivo hay algo bastante simpático y es que cuando intentamos editarlo nos aparece un mensaje muy al estilo de lo que dice el buen tio Ben antes de morir a Peter Parker.

[judavi@navy]$ sudo emacs /etc/sudoers

We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these three things:

   #1) Respect the privacy of others.
   #2) Think before you type.
   #3) With great power comes great responsibility.

Y que sucede con la patente entonces?

Según el resumen de la patente el comando es un –Elevador de derechos- pues generalmente en un sistema existen dos tipos de cuentas por medio de las cuales el usuario ingresa. Una no tiene ningún derecho restringido, regularmente llamada cuenta de administrador, y la otra tiene restricciones, usualmente llamada cuenta de usuario.

Las cuentas estándar de usuario tienen algunas tareas prohibidas, estas cuentas permiten que la mayoría de aplicaciones corran en la computadora pero generalmente prohíben las instalaciones, alterar las configuraciones y ciertas ejecuciones. Las cuentas de administrador en cambio permiten todas estas tareas.

Todo lo que vemos anterior es tomado de la patente y no dice nada diferente a lo que ya conocemos del sudo original de los sistemas Unix. Lo que demuestra que la oficina de patentes no se tomo ni siquiera el trabajo de buscar en la primera pagina de Google sobre el comando que tanto hemos mencionado. Naturalmente entiendo que la gente de Redmond quiera patentar su trabajo, lo que no me parece es que hagan un comando que hace las mismas cosas y hasta se llama igual que uno que ya existe, y lo peor es que ni siquiera se pueda invocar dentro de un Windows. O alguien a hecho un sudo para ejecutar algo en Windows?

image

Imagen 2. Existe sudo en Windows?

Quizás lo más cercano y que si existe en estos sistemas es –Runas- que nos permite correr una aplicación como otro usuario o grupo.

Finalmente me quedan mis dudas y una intriga extraña en el aire, no me queda claro que pretendían hacer patentando un comando propio de otro sistema y que ni siquiera ellos usan. Será que estamos frente algo similar a la burbuja punto com y todos debemos empezar a patentar comandos que ya no lo estén para que las casas de software tengan que comprárnoslos. Un apunte yo me pido  el –?– y –help

Link: Patente 7,617,530

Share and Enjoy:
  • Print
  • Digg
  • StumbleUpon
  • del.icio.us
  • Facebook
  • Yahoo! Buzz
  • Twitter
  • Google Bookmarks
  • Add to favorites
  • Live

Vamos! Deja un comentario :)