Una lanza a favor de UAC

Pues sí, yo estoy a favor de UAC y considero que es un gran invento. ¿La razón? La combinación de seguridad y comodidad (¡Hala lo que ha dicho! ¡Que UAC es cómodo!).

En Windows NT y Linux tenemos básicamente dos tipos de usuarios: el usuario normal y el superusuario (administrador en Windows, root en Linux). El superusuario puede realizar tareas administrativas, esto es, puede cambiar la configuración del sistema, instalar y desinstalar aplicaciones, asignar los permisos que van a tener los usuarios normales… la teoría y la historia dicen que lo más seguro es trabajar como usuario normal y usar un superusuario sólo cuando tengamos que hacer esas tareas administrativas.

En XP todos sabemos que lo más habitual, fuera de entornos empresariales (y aún en estos) es usar usuarios con derechos administrativos, usuarios administradores. No sé si fue con idea de facilitar el cambio de Windows 9x a Windows NT para el entorno doméstico, pero en XP el primer usuario que se crea es administrador y es con el que se acostumbró la gente a trabajar. El problema de esto lo hemos podido ver y sufrir estos años: aplicaciones mal programadas que pedían derechos administrativos por poco que hicieran, profusión de virus y malware sin control…

En Vista quisieron corregir tamaño desaguisado y el resultado fue UAC (Control de Cuentas de Usuario, en inglés). Básicamente la idea es trabajar con permisos restringidos, o sea, con un usuario limitado. Incluso si nuestro usuario tiene derechos de administrador, es un tipo de administrador limitado de forma que normalmente sólo tendrá los permisos de un usuario normal. Hasta aquí, perfecto. Es como tenía que haber sido en XP. Es como es en Linux. Ahora viene la pregunta: ¿qué hacemos cuando sean necesarios permisos de superusuario?

  1. Podemos cerrar nuestra sesión de usuario e iniciar una con el superusuario, léase Administrador. Esto es normal (o debería) en entorno empresarial (llega el informático, echa al luser, cierra su sesión, se valida como Administrador, actualiza, instala y desinstala y a otra cosa). También era normal en Linux. Si nosotros somos quienes administramos la máquina es muy molesto, porque tienes que cerrar tu sesión de trabajo normal e iniciar otra, donde, además, echarás en falta accesos directos, cierta ordenación, favoritos de internet…

  2. Otra forma es ejecutar la aplicación que queramos como superusuario desde nuestra sesión de usuario normal. En XP y 2000 tenemos la opción Run As… (Ejecutar como…) cuando pinchamos sobre el ejecutable o el acceso directo de una aplicación. Al usar Ejecutar como… el sistema nos pedirá las credenciales del usuario bajo el cual queremos ejecutar la aplicación, o sea, el nombre y contraseña. Si nos sabemos los nombres de las aplicaciones, podemos abrir una consola (cmd.exe) como administrador usando Ejecutar como… y todo lo que ejecutemos desde esa consola lo haremos con permisos de administrador. En Linux tenemos también esta opción. KDE por ejemplo lleva su propio Ejecutar como… gráfico y, además, tenemos el comando su. Este método, más cómodo que el anterior, tiene dos desventajas obvias si somos a la vez el usuario y administrador de la máquina. La primera es que tenemos que aprendernos la contraseña del administrador o root además de la nuestra propia. La segunda es que debemos saber qué programas (y puede que archivos) necesitan permisos de administrador.

  3. Para evitar la primera desventaja en sistemas como Ubuntu y Mac OS se usa el comando sudo. Mientras que con Ejecutar como… o con su debíamos introducir el nombre y contraseña del superusuario, con sudo sólo tenemos que introducir nuestra contraseña. Es decir, desde una consola escribo sudo MiPrograma, me pedirá mi contraseña, la meto y se ejecuta MiPrograma con permisos de administrador. La molestia de tener que usar una consola se soluciona con algún interfaz gráfico pero el problema de tener que conocer exactamente qué programa necesita de permisos administrativos permanece.

  4. UAC mejora la idea de sudo. Por una parte no pide contraseña, sólo pregunta si queremos ejecutar la aplicación como administrador o no. Segundo, detecta automáticamente si la aplicación necesita permisos de administrador. Esto es, no necesitamos saberlo nosotros. Ni tampoco introducir el nombre del programa, por lo que tampoco necesitamos saberlo ni tendremos el problema de confundirnos al escribir y tener que repetir la operación. En otras versiones de Windows y en Linux, si intentamos ejecutar un programa que necesite permisos de superusuario desde una cuenta de usuario normal dará error (en el caso de Windows, nos indicará que no tenemos permisos suficientes, en el caso de Linux que no encuentra el archivo). En Vista, directamente, nos preguntará si le damos permisos y, si lo hacemos, lo ejecutará.

Así pues, ¿es UAC molesto? Indudablemente, sí. Desde luego, es más cómodo trabajar siempre como superusuario. Pero la Historia ha demostrado que es una estupidez. Así que la comparación está mal hecha. No se puede comparar UAC con trabajar todo el día como superusuario (o sea, el tipo de usuario que tendremos en XP) en cuestiones de comodidad (es como usar un arnés de seguridad; es más cómodo no usarlo, pero eso no es una opción válida); lo que hay que hacer es compararlo con las otras herramientas equivalentes a UAC existentes. Y, en esa comparación, de las que conozco, UAC es la más cómoda. Y espero que en Windows 7 sigan trabajando sobre UAC para mejorarlo y reducir el número de veces que salta, sin comprometer la seguridad.

Como último apunte: UAC sólo pregunta sí o no si estamos trabajando con un usuario “administrador” (ya hemos dicho que en Vista, en realidad, son administradores limitados). Desde una cuenta de usuario normal (limitado) nos pedirá un nombre y contraseña de un usuario administrador. De todos modos, el comportamiento de UAC es bastante configurable, sobre todo en las versiones empresariales de Vista. Con sudo pasa más o menos igual: sólo los usuarios autorizados podrán ejecutar sudo tal cual. Si no fuera así, sería imposible usar estas herramientas en entornos empresariales o incluso en entornos domésticos, con personas que no queremos que toqueteen en el ordenador.

Más sobre UAC:

Vista 1 – Troyano 0

Comentarios a 10 trucos para acelerar Windows Vista

Habilitar el administrador en Windows Vista

Sálvese quien pueda, Vista se hunde

Y los profesionales: los fantásticos artículos sobre UAC de Vista Técnica 0, I, II, III, IV, V y éste en RaDians.

Je, resulta curioso. Hace unos meses despotricaba de UAC y ahora lo defiendo. Esto es lo que pasa cuando usas algo todos los días, empiezas a comprender mejor sus puntos fuertes y débiles.

7 pensamientos en “Una lanza a favor de UAC

  1. Cubano

    Ah, eso desde luego. Como al usuario se le meta entre ceja y ceja destrozar el sistema, da igual las características del sistema (entendiento sistema operativo, drivers y aplicaciones), lo destrozará. No hay más que darse una vuelta por blogs de tenderos y técnicos para comprarlo (y, además, ver el poco tiempo que necesitan).

  2. undomain

    Estoy pensando que el tema del UAC es solo efectivo en el caso de usuarios avanzados. Es decir, que para el usuario medio (+cre) es algo totalmente inutil.
    M’explico:
    Los que conocemos la informatica tenemos claro que si abrimos un .ZIP (por ejemplo) no se tiene que instalar nada en el PC, por lo que si nos salta el UAC diciendo que si queremos confirmar la instalación del software (o lo que sea) ya nos empieza a oler a chamusquina la cosa.
    En el caso de los usuarios medios, que por lo general no distingen entre instalar un programa y abrir un documento, cuando le salga la ventana del UAC le darán a confirmar y punto. En el caso de los mas avistamos, soltarán maldiciones.

    Usease, el UAC es incompleto… y para proteger a los usuarios medios es inutil, y encima, estos son los que mas peligro tienen.

  3. Cubano

    Proteger la máquina de los destrozos de cierto tipo de usuarios es tarea casi imposible. Si pones UAC, lo desactivarán o no leerán los mensajes. Si les haces trabajar con usuarios limitados, se las apañarán para trabajar siempre como usuarios administradores. Si les instalas un antivirus ligero y gratuito, lo quitarán e instalarán tres piratas.
    Y si los pones en Linux harán lo mismo. No sé cómo, pero consiguen aprender lo justo para destrozar el sistema.

  4. undomain

    Has descrito al 80% de los usuarios de PC… para desgracia de los servicios tecnicos y de los “pringaos” (lease el Pringao-HOWTO).
    ¿Crees que es realmente efectivo el UAC con ese porcentaje?

    Es una buena idea, pero actualmente inutil en un 80% de los casos 😛

  5. Cubano

    “¿Crees que es realmente efectivo el UAC con ese porcentaje?”
    No.
    Pero creo que es mejor tener UAC que no tenerlo.

    Por otra parte, ¿crees que si esta horda de lusers se pasara a Linux sudo impediría que destrozasen sus equipos?

  6. undomain

    “¿crees que si esta horda de lusers se pasara a Linux sudo impediría que destrozasen sus equipos?”
    No… si consiguieron meterme un NULL en un campo NO-NULL (no preguntes como, todavia estoy investigando) nada impide que meten mano donde no han de meterla.
    Pero sudo tiene mas utilidades que el UAC, no es algo exclusivo para ello.

Deja un comentario