Вы находитесь на странице: 1из 9

Nos solemos referir a Las Listas de Control de Acceso por sus siglas en ingls, es decir, como ACL o Access

Control List. Las ACLs son una especie de tablas que le dicen al Sistema Operativo qu o quin tiene permiso para acceder a un objeto determinado y son exclusivas de particiones con formato NTFS. Todos estos permisos pueden ser modificados con el comando "cacls". En este artculo veremos cmo hacerlo y definiremos sobre qu objetos y/o contenedores podemos aplicar estos permisos. Descriptores de seguridad y ACL Cualquier objeto en un Windows con ncleo NT y sobre un sistema de archivos NTFS tiene asociados unos parmetros de seguridad almacenados en los llamados descriptores de seguridad. En un descriptor de seguridad est guardado quin es el propietario del objeto y a qu grupo de usuarios pertenece, as como quin tiene acceso al objeto y qu tipo de permisos tiene de acceso. Estos permisos estn guardados en las llamadas ACLs (en ingls, Access Control List) o Listas de Control de Acceso. En principio, los descriptores de seguridad no estn almacenados concretamente en ninguna carpeta. Lo estn en forma de metadatos en la MFT. Por tanto, directamente no podemos acceder a dichos descriptores ni editarlos (directamente). A lo mximo que podemos llegar es a verlos encriptados en el registro de Windows. Por ejemplo: iniciamos sesin con una cuenta de Administrador y nos vamos a Inicio > Ejecutar y escribimos regedit. Si navegamos hasta la clave que aparece en la imagen, veremos el valor Security. Ese es el descriptor de seguridad asociado al servicio "Registro de sucesos".

Pero

mediante

la

GUI

usando

el

comando

cacls

podemos

modificarlos.

LAS ACL El comando cacls se encarga de gestionar las ya mencionadas Listas de Control de Acceso (en adelante ACL). Existen dos tipos de ACL: DACL y SACL. Veamos brevemente cada una: DACL: son las siglas de Discretionary Access Control List, es decir, Lista discrecional de control de acceso. En ella estn almacenados los permisos de acceso al objeto y es controlada por el propietario de dicho objeto. SACL: son las siglas de System Access Control List, o Lista de control de acceso del sistema. Est relacionada con las acciones que sern auditadas por el sistema. Una ACL contiene una ACE (o Access Control Entry, Entrada de Control de Acceso) que indica qu permisos tiene cada usuario. Es decir, una ACE para cada usuario o grupo. Los permisos se asignan en forma de permisos positivos (permite) y negativos (deniega). Como veremos, en una ACL primero estn situados los permisos negativos y a continuacin los negativos. Cmo podemos observar esto visualmente? Para verlos tenemos que acceder a la pestaa Seguridad que aparece al hacer click derecho sobre una carpeta o archivo. En esta FAQ nmero 6 hay informacin sobre cmo acceder a dicha pestaa en Windows XP. Si hacemos click dererecho sobre una carpeta y

elegimos Propiedades y luego la pestaa Seguridad, veremos que nos aparecen los distintos usuarios y los permisos que tienen sobre dicha carpeta. En esta ventana, sin embargo, no veremos ms que un resumen de los distintos permisos, siendo stos ms y ms complejos. Para verlos, vamos a hacerlo con un ejemplo: Si iniciamos sesin con un usuario limitado, y creamos una carpeta cualquiera con el nombre que queramos y en la ubicacin que queramos. Vamos a denegarle al usuario administrador el acceso a esa carpeta (denegacin que, por ser el administrador podra luego quitar). Clic derecho sobre la carpeta-> Propiedades -> Seguridad y vemos ah al usuario administrador. Para quitarle los permisos, pichamos sobre Opciones avanzadas y desmarcamos Heredar del objeto principal las entradas de permisos relativas a los objetos secundarios. Luego volvemos a la anterior ventana y seleccionamos el usuario administrador y luego sobre las casillas que hay debajo de Denegar. Nos aparecer el siguiente mensaje: Est estableciendo una entrada de denegacin de permisos. Las entradas de denegacin tienen precedencia sobre las entradas de permisin. Esto significa que si un usuario es miembro de dos grupos, uno al que se le da un permiso y otro al que se le deniega, al usuario se le deniega el permiso. Desea continuar?

Pinchamos sobre Aceptar y le habremos quitado los permisos de acceso. Como claramente dice el mensaje, los permisos de denegacin tienen precedencia sobre los de permisin. Veamos ahora visualmente esa precedencia. Si volvemos pinchar sobre Opciones avanzadas veremos que aparecen al principio de la lista los permisos titulados Denegar y debajo los titulados Permitir. Si no especificamos otros tipos de permisos, aparecer Full control, pero si los especificamos veremos que ah aparecen permisos ms concretos que en la ventana general.

Estos son los permisos almacenados en una DACL. Como se ha comentado en una SACL estn contenidos los permisos a auditar por el sistema. Esta caracterstica no est disponible en XP Home y slo podemos hacerla en Prof. Para ello, accedemos a la pestaa Seguridad y luego pinchamos sobre Opciones avanzadas. Veremos que una de las pestaas que aparecen es Auditora, es decir, el contenido de la SACL. El comando CACLS Como hemos dicho las ACLs determinan que usuarios o grupos de usuarios pueden tener acceso a un objeto determinado y es una caracterstica exclusiva de los sistemas de archivos NTFS. De hecho este comando puede simplificar bastante la modificacin de permisos mediante el uso de scripts automatizados que modifiquen estas ACLs y su uso es posible en cualquier sistema con ncleo NT, es decir, que lo podemos utilizar tanto en Windows XP Home como en Windows XP Professional. Debemos recordar que Windows 2000 y Windows XP profesional ya llevan un editor ACL al cual podemos acceder haciendo clic con el boton derecho sobre la carpeta o archivos cuyo permisos deseamos modificar, clic en propiedades, y en el nuevo cuadro de dialago, seleccionando la pestaa "Seguridad". Con calcs, en cambio, no es necesario hacer nada adicional ya que es funcional tanto en WinXP Home como en Prof, simplificando enormemente la tarea de asignar permisos sobre usuarios, contenedores u objetos. Este comando es en realidad equivalente a los comandos chmod y chown de linux, que sirven, respectivamente, para variar los permisos de carpetas

archivos

para

modificar

el

propietario

de

esas

carpetas.

Cuando un objeto o archivo es creado este hereda normalmente los permisos predeterminados de la carpeta o contenedor en el que es creado simplificando el proceso de administracin sobre los objetos contenidos en ella. Los permisos bsicos que se permiten establecer en cualquier Sistema Operativo con ncleo NT, son los siguientes: Permisos Leer. Habilita a un Usuario o grupos de usuarios a ver los archivos y subcarpetas contenidos en el directorio principal. Escribir. Habilita a un usuario a crear archivo y subcarpetas, cambiar los atributos y ver el propietario y los permisos aplicados sobre la carpeta as como a modificar el contenido del archivo o carpeta Mostrar el Contenido de la Carpeta. Este tipo de permiso, habilita a ver el contenido de una carpeta, y a recorrer su estructura de directorios o ejecutar los archivos que tengan esa posibilidad, tambin habilita a leer los atributos del archivo en cuestin y a leer el contenido de los mismos Lectura y Ejecucin. Este tipo de Permiso ana los derechos otorgados por los permisos Leer y Mostrar el contenido de una carpeta, es decir, que los permisos otorgados seran similares a los que hemos comentado antes para el permiso Mostrar Contenido. La nica diferencia entre este tipo de permiso y el de mostrar contenido consiste en cmo se heredan los permisos. En el caso de Lectura y Ejecucin, los permisos son heredados por todos los directorios y archivos contenidos en la carpeta en la que se aplique el permiso de lectura y ejecucin. En el caso de Mostrar el Contenido de la Carpeta, los permisos se heredan nicamente sobre las carpetas creadas. Modificar. Este es uno de los permisos que ms derechos otorgan sobre la carpeta o archivos en los que se aplique ya que habilita todos y cada uno de los permisos explicados anteriormente excepto el de tomar posesin y Eliminar Subcarpetas y Archivos y Cambiar los permisos, ya que estos slo pueden ser llevados a cabo por el permiso Control Total . Control Total. Como hemos dicho este permiso digamos que engloba a todos los descritos con anterioridad da el control total sobre quien se otorgue, incluida la posibilidad de tomar posesin. Cuyo proceso tenis definido en nuestras FAQs y que suele ser una caracterstica exclusiva del grupo de administradores.

El concepto de Tomar Posesin es fcilmente comprensible, si entendemos que el sistema de permisos NTFS recuerda el propietario del archivo. As, para las carpetas que contienen los perfiles de usuarios en Documents and Settings, el propietario siempre es el usuario cuyos archivos se contienen en esas carpetas y tiene por defecto Control Total, sobre sus archivos y carpetas, por lo que por defecto siempre podr modificar sus permisos para denegar acceso a otros usuarios. Cuando otro usuario Toma Posesin de una carpeta significa que asume la propiedad de la carpeta y del contenido de la misma, si as lo indicamos en el proceso de posesin. Se describe en esta FAQ nmero 7. El color gris tenue que podemos ver al acceder a la pestaa seguridad de un archivo en cuestin suele indicarnos que ese permiso est heredado del contenedor principal, podemos desactivarlo, simplemente tildando la opcin contraria, o bien realizando los cambios en el contenedor principal, con lo que se aplicarn estos permisos a todo el contenido de la

carpeta.

Por defecto, estos permisos pueden ser aplicados sobre usuarios concretos y especficos de nuestro sistema o bien sobre grupos de usuarios. En Windows XP se definen una serie de usuarios por defecto, que son los siguientes: Grupos de Usuarios Usuarios Este grupo es el que ms restricciones impone en el sistema pero con el que ms seguro es trabajar. Al Grupo Usuarios no le est permitido modificar el registro, ni modificar los archivos del sistema operativo, o los Archivos de Programa, en la prctica supone que no pueden instalar software. Aunque tiene Control Total, sobre los archivos que ellos creen y sobre su propia rama del registro, HKEY_CURRENT_USER, tambin se les permite apagar el PC. En la prctica es algo engorroso trabajar con este tipo de usuario ya que no permite la ejecucin de multitud de software anterior a Windows XP que no soportan los nuevos permisos NTFS y estn diseados para versiones anteriores de este sistema operativo. Usuarios Avanzados

Este grupo impone menos restricciones que el grupo de usuarios pero ms que el de administradores. Digamos que est a medio camino entre ambos grupos. En realidad, muchos de los problemas de restricciones que se dan al ejecutar software en nuestro equipo, se solventan con la utilizacin de este tipo de usuario. Los usuarios Avanzados pueden, por tanto, ejecutar aplicaciones diseadas para Sistemas Operativos con ncleo NT anteriores a Windows 2000. Iniciar y detener servicios que no sean los basicos y los que se inician de forma predeterminada con el sistema operativo, instalar cualquier programa que no modifique los archivos del sistema operativo y tener acceso a los datos del grupo de usuarios, a no ser que estos les retiren especficamente el permiso de acceso a sus archivos. Operadores de Copia de Seguridad

Son usuarios destinados a crear y restaurar copias de seguridad, y cuyas acciones se aplican independientemente del sistema de permisos especificado en el sistema operativo. Estos usuarios pueden iniciar sesin en nuestro sistema y tambin apagarlo. Administradores Este es el que ms poder otorga en el sistema y slo debera utilizarse para las tareas especficas que estan destinados a ellos, como por ejemplo: instalacin de componentes del Sistema Operativo, es decir, drivers, servicios, actualizaciones y Service Packs, reparacin del sistema operativo, administracin de auditorias y gestin y control de permisos sobre contenedores y objetos, y administracin de grupos de usuarios. Invitados Los usuarios pertenecientes a este grupo tienen los mismos permisos que el grupo de

Usuarios, y est destinado para proporcionar acceso a todo aquel que no tenga una cuenta especifica en el sistema. En Windows XP, por defecto, estos usuarios no pueden apagar el sistema, y adems se halla la cuenta deshabilitada ya que no se requiere contrasea para acceder como invitado a nuestro sistema operativo, con los problemas de seguridad que ello podra conllevar. Bsicamente, hemos pasado revista a los grupos de usuarios que Windows XP /Windows 2000 provee, pero hay todava una serie de usuarios especiales que no hemos definido an y que tambin son utilizados por Windows: Red Comprende a todos los usuarios que tienen acceso a nuestro equipo a travs de la red. Usuario Terminal Server

Cuando hemos habilitado Terminal Server en nuestro equipo para acceder de forma remota a nuestra mquina, este grupo se habilita y comprende a todos los usuarios que han iniciado sesin mediante Terminal Server. Operadores de Configuracin de Red

En este grupo se encuadran todos los usuarios que pueden modificar la configuracin de TCP/IP de las propiedades de red. Por defecto no tiene ningn usuario predefinido. - Grupos especiales Duplicadores Es un grupo destinado a integrar los usuarios que pueden replicar un directorio en el servicio de replicacin de rchivos en un controlador de dominio. En estaciones cliente y en PCs que no estn integrados en un dominio no tiene sentido agregar usuarios a este grupo. System Es uno de los grupos especiales de Windows, y en el no hay ningn usuario predefinido ya que est exclusivamente dedicado al acceso de fichero para que procesos esenciales del sistema operativo se puedan llevar a cabo. Usuarios Interactivos

Grupo que identifica al usuario actualmente logueado en nuestro Sistema Operativo.

Sintaxis del comando cacls

La sintaxis del comando es bien sencilla, aunque tiene varios modificadores o parmetros. Antes de seguir comentar que todo lo que sigue se teclear desde la consola de comandos. Es decir, Inicio > Ejecutar y escribimos cmd y ah podemos teclear todo lo que sigue.

La

sintaxis

ms

inmediata

del

comando

cacls

es

la

siguiente:

cacls

nombre_de_archivo

Por ejemplo, si tenemos en el escritorio un archivo llamado ejemplo.exe pues tecleamos:

cacls

escritorio\ejemplo.exe

y nos saldrn los permisos que tiene asignado ese archivo. Igualmente podemos podemos usar variables de entorno o la ruta completa del archivo. Por ejemplo, si queremos consultar los permisos del archivo explorer.exe que est en la carpeta WINDOWS, podemos escribir:

cacls

%windir%\explorer.exe

o bien cacls c:\windows\explorer.exe

Como

siempre,

si

la

ruta

contiene

espacios,

hay

que

introducir

comillas:

cacls

%userprofile\mi

carpeta\exam.exe

Como casi todos los comandos de Windows, ste tambin cuenta con una serie de modificadores, que son:

/T Con este modificador podemos cambiar los permisos a todos los archivos de una carpeta y subcarpetas. /E Con l podemos modificar la ACL sin cambiarla. /C Es, digamos, el modo silencionso. Si al modificar las ACLs encuentra algn error, lo omite y sigue modificndola. /G Este es el comando para conceder permisos a un usuario en particular. Los permisos son los siguiente:

N W C F permiso permiso control

ningn de de total

permiso escritura cambiar

Por ejemplo, para concederle al usuario Usuario permisos de escritura sobre el archivo ejemplo.exe que est en la carpeta Carpeta personal del escritorio, podramos hacerlo de la siguiente forma:

cacls

%userprofile%\escritorio\carpeta

personal\ejemplo.exe

/g

Usuario:w

/R Este comando suspende los permisos a un usuario y acta conjuntamente con /E (ya que /E modifica la ACL pero no la cambia) /P Este comando sustituye los permisos del usuario /D deniega a un usuario el acceso.

Por ejemplo, para denegar al usuario User el acceso al archivo anterior, escribimos:

cacls

%userprofile%\escritorio\carpeta

personal\ejemplo.exe

/d

User

Si nos equivocamos al escribir el nombre del usuario nos aparecer un mensaje como este:

No se ha efectuado ninguna asignacin entre los nombres de cuenta y los identificadores de seguridad.

Cuando se consulten permisos sobre carpetas podemos obtener las siguientes abreviaturas:

OI que se refiere a que los objetos creados bajo el directorio heredarn el permiso CI que se refiere a que los subdirectorios creados bajo este directorio heredarn el permiso IO que hace referencia a que el permiso no afectar al directorio y por tanto slo lo heredern los subdirectorios (IO)(CI) los permisos lo tomar la carpeta y lo heredern las subcarpetas y archivos (OI)(CI)(IO) los permisos slo lo heredarn subcarpetas y archivos (CI)(IO) el permiso slo lo heredarn las subcarpetas (IO)(IO) el permiso slo lo heredarn los archivos Ninguna salida se refiere slo a esta carpeta

A la hora de consultar y modificar permisos podemos usar caracteres comodines para hacerlo a varios a la vez. Por ejemplo:

cacls

%windir%\*.exe

Nos dara todos los permisos de los archivos con extensin exe de la carpeta Windows. Tambin podemos asignar a varios usuarios permisos sobre un mismo archivo con un solo comando:

cacls %userprofile%\escritorio\carpeta personal\ejemplo.exe /g Usuario:w /d User2

le dara al usuario Usuario permisos de escritura sobre el archivo y a User2 se los denegara.

cacls

%userprofile%\escritorio\carpeta

personal\ejemplo.exe

/g

Usuario:w

User2:f

le dara al usuario Usuario permisos de escritura sobre el archivo y al usuario User2 control total.

Finalmente, veremos que al ejecutar alguna accin de permisos se nos pregunta si estamos seguros o no de lo que vamos a hacer. Para evitar este mensaje tecleamos lo siguiente:

echo

Y|cacls

%userprofile%\escritorio\carpeta User2:f

personal\ejemplo.exe

/g

Usuario:w

teniendo en cuenta de que entre la Y y el smbolo | no hay ningn espacio.

La herramienta XCACLS, un Cacls mejorado

Xcacls es una herramienta por lnea de comandos que puede mostrar informacin en pantalla que la herramienta sucednea CACLS no puede mostrar. La herramienta que citamos se puede descargar desde aqu.

Esta herramienta es especialmente til para mostrar y establecer permisos NTFS especiales, y sobre todo para automatizar scripts por lnea de comandos que establezcan los permisos iniciales de carpetas y archivos en instalaciones desatendidas. Su sintaxis es parecida a la del comando Cacls y estn descritas en este artculo de la KB.

Вам также может понравиться