El Blog de Enrique Cortés

viernes, 13 de abril de 2007

Conceder y denegar permisos en Windows XP Home Edition

 

 

En Microsoft Windows XP existe una nueva interfaz de usuario (IU) llamada Uso compartido simple de archivos, mediante la cual es posible compartir archivos entre usuarios locales y entre usuarios remotos. Podemos tener acceso a la IU Uso compartido simple de archivos viendo las propiedades de una carpeta y establecer diferentes tipos de permisos a los usuarios a nivel de carpeta, siempre que el sistema de archivos sea NTFS.

 

En los equipos con Windows XP Home Edition siempre está activada la interfaz Uso compartido simple de archivos sin posibilidad (aparentemente) de deshabilitarla, mientras que en Windows XP Profesional es posible desactivar esta característica de seguridad a través de la interfaz gráfica, obteniendo de esta forma un mayor control sobre los permisos NTFS concedidos a usuarios de forma individual. De esta forma, los administradores de la versión Profesional pueden establecer, por ejemplo, que sólo un usuario posea acceso de lectura sobre un determinado archivo y que otro distinto pueda realizar modificaciones en él.

 

Para deshabilitar la IU Uso compartido simple de archivos en la versión Profesional ejecutamos el siguiente comando:

 

control folders

 

pulsamos en la pestaña Ver, y en el apartado Configuración avanzada nos desplazamos a la última opción Utilizar uso compartido simple de archivos (recomendado) para desmarcarla. A partir de este momento, nos aparecerá una nueva pestaña en la ventana de propiedades de archivos y carpetas, llamada Seguridad, que nos permitirá establecer permisos individuales a los usuarios.

 

En Windows XP Home Edition parece que esta opción de concesión y denegación de permisos a determinados usuarios no existe, ya que no hay posibilidad de desmarcar esa casilla para que nos aparezca la pestaña Seguridad, sólo nos aparece la pestaña Compartir. Sin embargo, no es así. Existen varios métodos para conseguir establecer permisos a usuarios en la versión Home Edition. A saber:

 

1.- iniciando el sistema en modo seguro

2.- a través de línea de comandos

3.- mediante aplicaciones específicas

 

 

Conceder y denegar permisos iniciando el sistema en modo seguro

 

Para poder administrar permisos individuales a los usuarios en Windows XP Home Edition mediante la interfaz gráfica es necesario disponer de la pestaña Seguridad en las ventanas de Propiedades de archivos y carpetas. Esto se consigue iniciando el sistema en modo seguro (modo a prueba de errores), manteniendo pulsada la tecla F8 durante el arranque del equipo. Inmediatamente, nos aparecerá un menú con diferentes opciones de inicio seguro. Elegimos Modo seguro e iniciamos sesión en una cuenta con privilegios administrativos. Comprobaremos que en las propiedades de archivos y carpetas, la pestaña Compartir se ha convertido en la pestaña Seguridad, exactamente con las mismas opciones de que disponemos en la versión Profesional en modo normal.

 

 

Conceder y denegar permisos a través de línea de comandos

 

Sin necesidad de iniciar el sistema en modo seguro, también podemos administrar permisos a usuarios en Windows XP Home utilizando el símbolo del sistema, mediante el comando CACLS. Éste sería el método más rápido, aunque algo más reservado a administradores que están más habituados al uso de la consola de comandos. Sin embargo es muy sencillo utilizar este comando; con estos ejemplos se verá más claro:

 

Imaginemos un sistema con tres cuentas de usuario, una de administrador (Carlos García) y dos cuentas limitadas (Pedro y Juan):

 

 

- Carlos García (administrador)

- Pedro (cuenta limitada)

- Juan (cuenta limitada)

 

 

El administrador crea el archivo Confidencial.doc en C:\ (C:\Confidencial.doc)

 

En principio, sobre este archivo tienen control total (full control) el sistema (System) y el grupo de administradores, en el que se incluye Carlos García. El grupo Todos, que incluye los usuarios Pedro y Juan, sólo tiene permisos de ejecución y lectura (ejecutar el archivo y leer), pero no pueden escribir en él ni modificarlo.

 

 

CASO 1

 

Queremos que el archivo Confidencial.doc sólo pueda ser ejecutado y modificado por Juan (cuenta limitada), el cual tendrá control total sobre el archivo, y el resto de usuarios no tendrá acceso a él (acceso denegado). Procederemos de la siguiente manera:

 

Abrimos una ventana de comandos y ejecutamos:

 

cacls c:\Confidencial.doc /g Juan:f

 

El sistema nos preguntará:

 

¿Está seguro (S/N)?

 

Pulsamos S y Enter para ejecutar la orden. Nos aparecerá la confirmación:

 

archivo procesado: c:\Confidencial.doc

 

Confidencial.doc ya sólo podrá ser abierto y modificado por Juan. El resto de usuarios no tendrá acceso a él, ni siquiera el administrador.

 

 

CASO 2

 

Queremos que el archivo Confidencial.doc pueda ser de control total (ejecutar, leer y modificar) para todos los usuarios, es decir el grupo Todos, en el que se incluyen también los administradores. Procederemos así:

 

Abrimos una ventana de comandos y ejecutamos:

 

cacls c:\Confidencial.doc /g Todos:f

 

Confirmamos los pasos como en el caso 1, y a partir de ahora todos los usuarios del equipo tendrán acceso total al mencionado archivo.

 

 

CASO 3

 

Queremos que el administrador (Carlos García) tenga control total sobre el archivo, Pedro sólo tenga permiso de lectura, y Juan acceso denegado. Para este caso, seguiremos este orden:

 

Abrimos una ventana de comandos y ejecutamos:

 

cacls c:\Confidencial.doc /g "Carlos García":f Pedro:r /d Juan

 

 

El parámetro "/d" indica acceso denegado explícito en todos los tipos de permiso para el usuario. Si no incluimos el parámetro "/d Juan" en el comando anterior, también Juan quedaría sin acceso al archivo.

 

 

Los tipos de derechos (permisos NTFS) sobre el archivo, especificados con el parámetro "/g", vienen definidos por lo siguientes valores:

 

- n (ninguno)

- r (lectura)

- w (escritura)

- c (modificar)

- f (control total)

 

El comando CACLS muestra o modifica los archivos de lista de control de acceso discrecional (DACL). Las ACLs, Access Control List, indican al Sistema Operativo qué usuarios tienen permisos para acceder a objetos determinados (carpetas y archivos) y qué tipo de permisos exactamente. Son una característica exclusiva de particiones con el sistema de archivos NTFS. Por tanto, no podemos utilizar el comando CACLS para establecer permisos en particiones FAT o FAT32. Si en una ventana de comandos (cmd) ejecutamos CACLS /? nos dará la sintaxis completa, pero lo veremos más claro si ejecutamos el siguiente comando desde el menú Inicio > Ejecutar y pulsamos Aceptar:

 

hh ntcmds.chm::/cacls.htm

 

 

Existe una versión mejorada de la herramienta de línea de comandos CACLS, llamada XCACLS.EXE (Extended Change Access Control List), que permite establecer todas las opciones de seguridad del sistema de los archivos que son accesibles en el Explorador de Windows desde la línea de comandos. Para ello, Xcacls.exe muestra y modifica las listas de control de acceso (ACL) de los archivos, y es especialmente útil en instalaciones desatendidas. La utilidad Xcacls.exe se incluye en el Kit de recursos de Windows 2000, y puede decargarse desde aquí:

 

http://www.microsoft.com/downloads/details.aspx?FamilyID=0ad33a24-0616-473c-b103-c35bc2820bda&DisplayLang=en

 

 

 

Utilizar aplicaciones específicas en Windows XP Home

 

Existen también algunas aplicaciones de terceros, y por tanto sin soporte de Microsoft, que nos permiten administrar las ACLs en Windows XP Home, y establecer permisos de usuarios para objetos (archivos y/o carpetas) en volúmenes NTFS. Citaré sólo dos de ellas:

 

- ACLView, de la compañía Native Computer Systems

- Security Configuration Editor (SCE), que es de Microsoft, pero sin soporte para Windows XP

 

 

*ACLView es una utilidad gratuita de control total para los permisos NTFS. Proporciona una interfaz alterna para manejar permisos NTFS. Permite que los administradores asignen propiedades y permisos para los objetos con una interfaz estilo explorador. La lista de permisos se puede guardar en formato XML, de esta forma puede ser utilizada para cargar rápidamente el mismo sistema de permisos para otros objetos. La herramienta está diseñada para los administradores de sistema y requiere conocimiento del ACL. Se puede descargar de la siguiente dirección:

 

http://www.nativecs.com/downloads/ACLViewSetup.exe

 

 

*Security Configuration Editor (SCE) es una herramienta de Microsoft, diseñada para Windows NT, pero que sin embargo podemos sacarle provecho en Windows XP Home, ya que nos permitirá habilitar directamente la pestaña Seguridad en las propiedades de archivos y carpetas, sin necesidad de iniciar el sistema en modo seguro. Aunque está sin soporte, nunca he observado ningún problema al aplicarla en Windows XP Home. Para que nos aparezca la pestaña Seguridad, procederemos de la siguiente forma:

 

 

1.- Descargamos la herramienta scesp4i.exe desde esta dirección:

ftp://ftp.microsoft.com/bussys/winnt/winnt-public/tools/scm/scesp4i.exe

 

 

2.- Creamos una carpeta nueva y ejecutamos la herramienta para extraer los ficheros en esa carpeta.

 

 

3.- Abrimos la carpeta, y buscamos el archivo setup.inf.

 

 

4.- Hacemos clic derecho del ratón sobre este archivo y elegimos Instalar. Automáticamente nos aparecerá la pestaña seguridad en las propiedades de archivos y carpetas.

 

 

Si queremos revertir el procedimiento, es decir, que vuelva a desaparecer la pestaña Seguridad, ejecutaremos el siguiente comando desde el menú Inicio > Ejecutar y pulsamos Aceptar:

 

%windir%\System32\cmd %windir%\System32

 

Una vez situados en el símbolo del sistema, pegamos, donde está situado el cursor, el siguiente comando para eliminar cuatro archivos de la carpteta %windir%:

 

del SecEdit.exe scedll.dll rshx32_5.dll wsecedit.dll

 

y pulsamos Aceptar.

 

Este método nos va a servir, por ejemplo, si queremos implementar permisos NTFS en Windows XP Home desde la interfaz gráfica, haciendo desaparecer luego la pestaña Seguridad, y todo ello sin tener que reiniciar el sistema o acceder al modo seguro.

 

...

..

10 comentarios:

Anónimo dijo...

Muy bueno, realmente me ha parecido de lo mas interesante a la vez que util, enhorabuena!

Anónimo dijo...

Muy buen detalle en cuanto a permisos en Win XP Home.

Te hago una consulta:
Es posible establecer permisos para usuarios remotos (es decir q se conectan por red?

Anónimo dijo...

A David:

No he encontrado nada al respecto. He si utilizas el mmc (consola de Microsoft) con el agente de "Carpetas compartidas" y miras la carpeta Sesiones verás que todos los usuarios remotos se validan como "Invitado" por lo que los controles de acceso que ha comentado Enrique solo sirven para usuarios interactivos.

Anónimo dijo...

Hola tengo una red con 60 ordenadores divididos en 3 grupos de trabajo distintos. Todos los ordenadores interactuan perfectamente. Mi problema es que quiero denegar los permisos de las carpetas compartidas a los usuarios de otros grupos de trabajo y permitir a los de un mismo grupo. Tienen instalado windows xp profesional y no sé cómo hacerlo. En la pestaña seguridad le doy a agregar un grupo pero no me aparecen los distintos grupos. Gracias.

borekon dijo...

Llevaba 2 horas "googleando" hasta que he dado con tu post. Grandísimo, solo que los link ya no funcionan. Aqui podeis encontrar scesp4i.exe:
http://www.filewatcher.com/m/scesp4i.exe.2816112.0.0.html

Manuel dijo...

Hola Enrique, quisiera hacerte una consulta sobre permisos que es un poco extensa. Si es posible por favor te dejo mi email para que me confirmes ya que el tuyo no lo encuentro.
eidosmatrix |at| yahoo.com.ar
Muchas Gracias!

z666zz666z dijo...

Si, pero tengo una pregunta:

¿Cómo configuro los permisos? Para:

Tener compartida en red D:\Privado\ y que sólo determinado usuario pueda acceder a ella tanto desde la red como localmente, es decir cómo impido que los demás puedan...

Hablo claro en Windows XP Home, parece que lo único que logro es que o todos o ninguno... parece que los permisos NTFS que usa al acceder desde la red son los del grupo TODOS... si lo quito no hay accesso y si lo dejo pues eso todos pueden acceder...

El concepto es tener en mi PC Windows XP Home una carpeta a la que sólo yo pueda acceder y tenerla compartida para que sólo yo pueda acceder a ella desde la red, por supuesto con posibilidad de cambiar cosas desde la red... etc... pero que nadie más pueda entrar ni localmente ni desde la red.

Gracias.

P.D.: Uso la técnica del "scesp4i.exe" para tener la pestaña de permisos... pero al tener que compartirla en red... problemas...

ryuku dijo...

Muy buen articulo, pero quisiera saber si se pueden deshacer los cambios en la asignacion de permisos, ayer abri un archivo .bat que contenia la instruccion para denegar los permisos a todos los usuarios a c y ahora no puedo instalar programas o restaurar el sistema, no quisiera formatear el disco, hay otra opcion?

Gracias

Anónimo dijo...

Hola el enlace para descargar ACLView, ya no funciona pero he encontrado otro via ftp, es el siguiente: ftp://ftp.itk.ru/soft/util.ACLView.dis.win.p.cles/ACLViewSetup.exe, espero les sea de mucha utilidad. Atte. Jorge.

Anónimo dijo...

Hola Enrique, en pleno 2018 y me ha venido muy bien tu entrada viejuna.. gracias! :)