Permisos NTFS: ACLs cuentas de usuarios y grupos en Windows

Iniciado por d3xf4ult, 8 Enero 2012, 18:26 PM

0 Miembros y 1 Visitante están viendo este tema.

d3xf4ult

En este guía veremos: Como Modificar (conceder o denegar) permisos a usuarios y grupos de Windows, entender como funcionan los permisos y administrar la cuenta de administrador local.

Índice:
1) Definiciones y conceptos.
  1.A) Acceso a los archivos y directorios.
  1.B) Tipos de cuentas de usuarios y grupos por defecto en Windows 7 y sus SID.
2) Habilitar o deshabilitar cuenta de Administrador.
  2.A) De manera gráfica.
  2.B) Con la consola de comandos (CMD), Shell de Windows.
3) Modificar permisos o privilegios de usuarios o grupos locales.
  3.A) Modificar permisos desde la sesión Administrador.
  3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos).
  3.C) Conflictos en permisos para un mismo usuario: Permitir y denegar.
  3.D) Permisos heredables de objetos primarios.
4) Cambiar el tipo de cuenta: Usuarios o Administrador.
5) Habilitar y conceder permisos de Administrador, mediante la Shell de Windows (consola o símbolo de sistema CMD).
6) UAC (User Account Control "Control de cuentas de usuario").

En primer lugar:
Recomiendo antes estas tres lecturas:

http://support.microsoft.com/kb/981949/es
http://support.microsoft.com/kb/308419/es
http://support.microsoft.com/kb/983628/es
(El último enlace al que hago referencia, está muy completo ya que nos dice como modificar permisos de archivos o carpetas a usuarios, y es algo muy parecido a lo que voy comentar posterirormente en este artículo).

1) Definiciones y conceptos.

1.A) Acceso a los archivos y directorios:

Todo el tema de permisos que aquí muestro y explico se dan gracias al sistema de ficheros: NTFS (New Technology File System), uno de los sistemas de ficheros de Microsoft Windows, que permite un gran avance de seguridad en cuanto a las concesiones de permisos o privilegios de usuarios en Windows.

Herencia: La herencia permite la propagación de ACL posicionadas en objetos contenedores padres a sus hijos. Al crear una ACE, es posible precisar si se va aplicar al objeto, sólo a sus hijos (indicador de herencia solamente o Inherit Only) o al objeto en sí y a sus hijos.

Objetos: Un objeto es simplemente un elemento que puede asegurarse y protegerse mediante permisos. Puede tratarse de un archivo, un directorio, una clave de registro o un objeto de sistema, como una canalización con nombre, un socket, un proceso, un subproceso, etc.

ACL (Access Control List): Es una lista de control de acceso que regula los permisos de acceso a los objetos del sistem. Está compuesta por entradas de controles de acceso ACE

ACE (Access Control Entry): Una entrada de control de acceso es un elemento de una ACL. Una ACE está compuesta por un SID, una máscara de acceso que define los permisos concedidos al SID (ya sean: Lectura, escritura, etc.), un indicador que determina el tipo de ACE y otro indicador que determina a que objetos se refieren estos permisos.
Hay tres tipos de ACE: Acceso concedido, Acceso denegado y Audit (para auditar la seguridad del sistema).

SD (Security Descriptor): Un descriptor de seguridad es la estructura vinculada a todo objeto al que se le puede aplicar seguridad que contiene el SID del propietario del objeto, su grupo primario y las dos listas de ACL: DACL y SACL.

DACL (Discretionary Access Control List): Una lista de control de acceso discrecional es la que está controlada por el propietario del objeto. Especifica quién tiene permiso y quién no para acceder a dicho objeto.

SACL (System Access Control List): Una lista de control de acceso de sistema es la que controla la generación de mensajes de auditoría durante los intentos de acceder a un objeto seguro. (Es necesario tener privilegios SE_SECURITY_NAME para modificar una SACL).

SDDL (Security Descriptor Definition Language): Un lenguaje de definición descriptor de seguridad que permite definir y transportar datos almacenados en un descriptor de seguridad en formato de texto.
Por ejemplo, el comando "sc sdshow" muestra el descriptor de seguridad ligado al servicio en formato SDDL.

El orden de interpretación de los permisos es o debería ser el siguiente:
- Accesos denegados explícitos (DENY ONLY).
- Accesos autorizados explícitos (ALLOW ONLY).
- Accesos denegados heredados.
- Accesos autorizados heredados.

1.B) Tipos de cuentas de usuarios (NT AUTHORITY) y grupos por defecto en Windows 7 y sus SID:

Trusted Installer (Instalador de confianza): No es una cuenta de usuario propiamente dicha, sino que una cuenta de servicio. Su SID (Security Identifier) comienza por S-1-5-80, que corresponde a SECURTIY_SERVICE_ID_BASE_RID. Sirve para ejeuctar el servicio que instala los componentes Windows, los hotfixes y los paquetes MSI (Microsoft Installer).
Este SID posee los permisos para todos los arhicvos de sistema que le permiten actualizar el sistema operativo. Tiene acceso completo a los directorios Windows, System32 y Archivos de Programas (Program Files), lo que le confiere permisos necesarios para reemplazar un archivo del sistema cuando ni siquiera los administradores tienen acceso en escritura. De la misma manera, están accesibles en escritura muchas claves del registro que definen clases y objetos COM únicamente en el servicio Trusted Installer. Cuando se llama, el servicio de instalación a MsiExec (fichero que lee la instalación MSI y lanza el asistente).

Creator Group: Utilizado por el subsistema POSIX únicamente, este SID genérico es sustituido durante la evaluación por el grupo principal del propietario del objeto. Concede control total o lo establecidos explícitamente en "permisos especiales" a un objeto sobre un grupo concreto.
Esto está más detallado en el apartado: 3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos). En la sección de "Propietarios de un objeto".

Creator Owner (SID: S-1-3-0): Este SID genérico es reemplazado por el SID del propietario del objeto durante la evaluación de los permisos. Al igual que el anterior, concede control total o lo establecidos explícitamente en "permisos especiales" a un objeto sobre un grupo concreto.
Esto está más detallado en el apartado: 3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos). En la sección de "Propietarios de un objeto".

Owner Rights (Derechos del propietario): Es una nueva cuenta (nuevo SID) de Windows Vista y 7. En Windows XP, pero también en Windows 7, el creador de un objeto posee implícitamente el derecho de modificar las ACL en su posible prohibir el acceso a un objeto (un archivo o una clave de registro, entre otros) a un administrador. El administrador tiene derecho a cambiar las ACL para otorgarse los permisos necesarios, como por ejemplo un control total.
A un usuario estándar, ser propietario de un objeto le confiere un control total sobre el objeto e impide que se le pueda restringir el acceso, porque puede manejar y modificar sus ACLs. Un administrador que desee restringir el acceso a un porpietario de un objeto deberá, en primer lugar, cambiar el propietario y luego ajustar las ACL del aobjeto de conformidad con lo deseado.
Windows Vista y Windows 7 introducen, por tanto, un nuevo SID que corresponde a "Derechos del Propietario" (no se corresponde con una nueva cuenta de usuario con la cual es posible iniciar sesión), que puede utilizarse para limitar los derechos del propietario del objeto. Cuando este SID no está en una ACL, se aplica la lógica habitual: el propietario posee los derechos para modificar las ACL de ese objeto. Sin embargo, cuando está presente, el propietario recibe los permisos asociados a este SID.
Se utiliza normalmente para restringir los permisos de los propietarios de forma sencilla y eficaz. Por ejemplo, situando en un directorio los permisos Lectura en el SID derechos del Propietario y lectura/escritura en un grupo dado, el grupo puede crear archivos y directorios que serán de sólo lectura una vez creados, porque el usuario recibirá los derechos del propietario.
Imaginemos que un usuario cambia de servicio, antes podía crear archivos y acceder a ellos en un directorio mediante la pertenencia a un grupo que le daba un control total sobre un directorio dado. Al abandonar el servicio, se le retira de este grupo. Sin embargo, sigue siendo propietario de sus objetos, es decir, de los archivos que creó, y puede, según las ACL establecidas en el directorio, seguir accediendo y modificando las ACL de sus archivos para devolverse a si mismo el control. Si se establece una denegación (DENY) WRITE_DAC en el SID Derechos del Propietario en el directorio raíz, los porpietarios ya no pueden cambiar las ACL en los objetos que han creado.
Para terminar, cuando un administrador cambia el porpietario de un objeto, se deshabilitanlos permisos asociados al SID Derechos del Propietario para que un administrador pierda definitivamente el control de un objeto.
Más detalle y un ejemplo en el apartado: 3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos). En la parte de "Propietarios de un objeto".

Ahora comentaré un poco los usuarios NT AUTHORITY, son usuarios usados por el sistema para operaciones de privilegios concretos en determinadas funcionalidades, estos usuarios el sistema hace uso de ellos de forma transparente al usuario final.


Figura 1: Usuarios NT AUTHORITY utilizados por Windows 7.

- Usuarios autentificados (SID: S-1-5-11): Son Usuarios que pertenecen o forman parte de Active Directory de una red de dominio.

- Anonymous Logon (SID: S-1-5-7): Son usuarios que no disponen de una cuenta de usuario en Servicios de dominio de Active Directory, pero que pueden recibir una invitación para participar de forma remota en una conferencia local.

- IUSR (SID: S-1-5-17): Este grupo sirve para dar permisos a las cuentas de servicio encargadas de ejecutar los pools de aplicación del servidor Web IIS (Internet Information Services).

- Interactive (SID: S-1-5-4): Representa a los usuarios que han abierto sesión localmente en la máquina y que no acceden a un recurso de la máquina a través de la red.

- Local Service (SID: S-1-5-19): Los miembros de este grupo tienen permiso para leer el registro de eventos del equipo local.

- Dialup (SID: S-1-5-1): Son usuarios conectados a través de una conexión de acceso remoto.

- Network (SID: S-1-5-2): Son los usuarios que acceden a un recurso de la máquina a través de la red, a diferencia de los usuarios que han abierto una sesión localmente para acceder a los recursos. No incluye a los usuarios que inicien sesión mediante una sesión de Escritorio remoto (mstsc-Miscroft Terminal Service Connection).

- Service (SID: S-1-5-6): Son los usuarios que inician sesión como servicio.

- Network service (SID: S-1-5-20): "Servicio de red" es una cuenta utilizada por los servicios que necesitan acceder a recursos en la red bajo la identidad de la cuenta máquina en la cual se ejecutan. Tiene menos privilegios y permisos localmente que el "System Local".

- Local service (SID: S-1-5-19): Es una cuenta utilizada por los servicios que necesitan acceder a recursos locales y no por red (se identifica anónimamente en la red). La diferencia entre Local Service y System Local reside en que System Local posee permisos sobre la red (los mismos que Network Service), mientras que Local Service se autentifica anónimamente en la red.
Network Service y System Local se autentifican en Kerberos utilizando la cuenta máquina del equipo definida en el servicio de Active Directory. Muchos servicios de Windows 7 que no necesitan acceder a la red se ejecutan bajo la identidad de Local Service. Este funcionamiento es el que siempre ha existido en los sistemas Microsoft. Con Windows y 2008, nuevas directivas de grupos permiten a la cuenta Local System autentificarse en NTLM en la red, y no de forma anónima. Este comportamiento no está activo de forma predeterminada, sino que es necesario activarlo.

- System (SID: S-1-5-18): Representa el sistema operativo. Permite asignar permisos específicos al sistema. Se llama también Sistema Local (Local System). Es la cuenta que tiene más derechos y privilegios en la máquina.

- Batch (SID: S-1-5-3): Son las cuentas utilizadas para ejecutar tareas programadas (Control Schedtasks).

- Terminal Server User (SID: S-1-5-13): Son los usuario que abren una sesión de terminal server en la máquina.

- Remote Interactive Logon (SID: S-1-5-14): Son los usuarios conectados mediante un inicio de sesión de escritorio remoto.

Otros usuarios del sistema para realizar otras funciones determinadas:

- Usuarios de Operadores de cifrado: Como sería lógico, los miembros de este grupo tienen permisos para realizar operaciones de cifrado.

- Usuarios de Operadores de copia de seguridad: Encargados de realizar las copias de seguridad del equipo programadas o automáticas de Windows o lo que se le hubiese establecido.

- Usuarios del monitor de rendimiento: Los miembros de este grupo pueden acceder a los datos del Monitor de rendimiento (perfmon.exe) localmente y en remoto.

- Usuarios del registro de rendimiento: Los miembros de este grupo pueden programar el registro de los monitores de rendimiento, activar los proveedores de seguimiento y recoger el seguimiento de eventos simultáneamente de forma local y a través de un acceso a este equipo.

Añado una nota sobre los SID de los usuarios:
- Administrador: SID: S-1-5-500
- Invitado: SID: S-1-5-501
- El resto de usuarios locales, generados a partir de la referencia del perfil Default, empezarán ordenadamente a partir del siguiente SID: S-1-5-1000, S-1-5-1002 , S-1-5-1003, etc. y así sucesivamente por cada usuario local creado.

Existen muchos más grupos de usuarios predeterminados en Windows, aquí menciono los que para mi son los más usados y relevantes.
Más información sobre los SID (Identificadores de seguridad): http://support.microsoft.com/kb/243330/es

Intentaré explicar de manera clara y sencilla, para que sea entendible por cualquier tipo de usuario: Como modificar ya sea, para conceder o denegar permisos en Windows 7, y como configurar cuentas de usuarios y adminsitradores de Windows 7.

Existen muchas formas de realizar esto, ya sea por la shell (consola de comandos CMD) de Windows, como de manera gráfica en el sistema. Mencionaré las dos formas de hacerlo, para cada uno de los casos.

* Nota: El nombre de usuario que utilizaré para estes tutoriales serán: Administrador (por defecto del sistema) y loiswin7, que correrán bajo una máquina virtual con Windows 7 Ultimate x86. Ya que la arquitectura del SO sea x86 o x64 bits, no influirá sobre la configuración o modificación de permisos en Windows 7.

2) Habilitar o deshabilitar cuenta de Administrador.

2.A) De manera gráfica:

[1] - Nos vamos a: Inicio > botón derecho en "Equipo" > Administrar.
Nos aparecerá la ventana de "Administración de equipos".
[2] - Nos vamos a: Usuarios y grupos locales -> Usuarios > Administrador > botón derecho "Propiedades".
Se nos mostrará la ventana de "Propiedades: Administrador".
[3] - En la pestaña "General" desmarcamos (para activar la cuenta, en caso contrario marcaríamos el checkbox) el checkbox que dice: "La cuenta está deshabilitada", Aplicamos los cambios y Aceptamos.
[4] - Cerramos la ventana "Administrador de equipos" y cerramos sesión para poder entrar como Administrador al sistema.


Figura 2: Habilitar o deshabilitar cuenta administrador desde lusrmgr.msc.

2.B) Con la consola de comandos (CMD), Shell de Windows:

[1] - Nos vamos a: Inicio > escribimos: CMD -> esperamos a la busqueda > botón derecho sobre: cmd.exe > Ejecutar como administrador.
Se nos abrirá la Shell de Windows (CMD)
[2] - Aquí tipearémos o escribirémos la siguiente linea de comandos:

net user administrador /active:yes
(para activar la cuenta administrador del sistema)
net user administrador /active:no
(para desactivar la cuenta administrador del sistema)

[3] - Pulsamos Enter y cerramos la consola con el comando Exit, o simplemente cerrando la ventana.
[4] - Cerramos sesión para poder entrar como Administrador al sistema.


Figura 3: Habilitar o deshabilitar cuenta administrador a través de consola, cmd.exe.

* Nota: En algunos casos, puede dar errores. Uno muy frecuente es:
Error de Sistema 5 (System error 5):
Se refiere a que no tenemos los permisos adecuados.
Soluciones:
- Comprobar los permisos de la cuenta.
- Realizar un logueo en la maquina remota, para que las credencias queden el cache (un error muy típico).
- Comprobar que el servicio netlogon este corriendo.

Estas dos formas de hacerlo que mencioné, tanto gráficamente como mediante comandos con la Shell de Windows, es lo mismo y perfectamente válidas.
Aclaro: Esto solamente es para activar o desactivar la cuenta Administrador del sistema.

3) Modificar permisos o privilegios de usuarios o grupos locales.

3.A) Modificar permisos desde la sesión Administrador:

En cualquiera de los dos casos que hubiésemos realizado anteriormente.
Cuando cerramos sesión, veremos ya habilitada la cuenta Administrador, entramos como Administrador al sistema.


Figura 4: Inicio de sesión como administrador.

Una vez iniciada la sesión como Administrador:

[1] - Nos vamos al "Explorador de Windows" (Tecla Win + E) o doble click en Equipo.
[2] - Hacemos click derecho sobre el disco local C: (que por defecto en la mayoría de los casos suele ser la asignación de letra de unidad C:) > Propiedades.


Figura 5: Acceder a las propiedades de %systemdrive% para configurar la seguridad de permisos.

[3] - En ventana de "Propiedades: Disco local (C:)". Nos vamos a:
Seguridad > Editar... > (Se nos abrirá la ventana: "Permisos de Disco local (C:)") ahí seleccionamos el grupo "Usuarios" o "Administradores" y concedemos (en este caso) o denegamos privilegios o permisos a dichos grupos, marcando los checkbox que deseemos o simplemente si queremos conceder o denegar todos, marcamos el checkbox de "Control total".
* Nota: Si no vemos la opción de Seguridad en una solapa o pestaña de esta ventana. Deberemos activar lo siguiente:
En la "Barra de Herramientas" de 'Mi PC' o 'Explorador de Windows' (Pulsamos F10 o 'Alt') > Herramientas > Opciones de carpeta > Ver > buscamos 'Utilizar uso compartido simple de archivos' y desmarcamos este checkbox > Aceptar. Ahora ya podremos ver la ficha de Seguridad.

[4] - Aplicamos los cambios, se nos mostrará una ventana en la que nos dice si estamos seguros de la operación, le decimos que si. Y aceptamos.
Veremos como después de aplicar la operación en la ventana "Propiedades: Disco local (C:)" se nos muestran todos los tics en "Permitir" en el grupo que seleccionáramos (Usuarios o Administradores).


Figura 6: Edición de permisos para "Usuarios" y otros.

3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos).

En este caso, omitiríamos desde el principio de este post hasta este apartado los pasos y las diferentes maneras de hacerlo, sin necesidad de habilitar la cuenta Administrador.

Dentro de nuestra sesión de usuario normal:
[1] - Nos vamos al "Explorador de Windows" (Tecla Win + E) o doble click en Equipo.
[2] - Hacemos click derecho sobre el disco local C: (que por defecto en la mayoría de los casos suele ser la asignación de letra de unidad C:) > Propiedades.
[3] - En ventana de "Propiedades: Disco local (C:)" nos vamos a:
Seguridad > Opciones avanzadas.
[4] - Se nos mostrará la ventana: "Configuración de seguridad avanzada para Disco local (C:)". Nos vamos a: Propietario > Editar....

La ficha PROPIETARIO, (aquí el usuario tendría que estar en el "Grupo de Administradores" locales para poder realizar algunas de estas funciones):
Importante: Cuando un fichero o carpeta tiene a un administrador local como propietario en este fichero y/o carpeta NO podremos eliminar, modificar, mover, cambiar permisos, etc., es debido a que quizás ese administrador NO esté como propietario del fichero o carpeta, ya que puede que ni siquiera esté en el grupo administradores, y sea simplemente un usuario normal-raso.

Si conseguimos añadir el usuario que queramos en la ficha de Propietario de un fichero/carpeta y remplazamos el que ya está (que esto nos lo permite si el que actualmente está es administrador pero pese a eso no nos permite borrar el fichero por decirlo de algún modo) añadiendo otro user con privilegios y reemplazando la propiedad del fichero conseguiremos realizar TODO tipo de acciones sobre dicho fichero/carpeta como por ejemplo borrar esos ficheros o carpetas que Windows en ocasiones bloquea.

ES MUY IMPORTANTE que después de seleccionarlo y APLICAR nos fijemos de que donde aparece "Propietario actual", en la casilla de texto de abajo esté asignado o establecido el correspondiente usuario que queremos hacer propietario. (Ya que "en ocasiones" pasa que seleccionas y los cambios parece que surgen efecto y en realidad no es así).
Tendremos también que marcar los checkbox para "incluir todos los permisos heredables del objeto primario de este objeto".


Figura 7: Cambiando propietario, algo importante para la manipulación total de un objeto.

Se nos abrirá otra ventana en la que:
[5] - Seleccionamos el usuario del sistema con el que tenemos iniciada sesión (es decir, el usuario normal).
[6] - Marcamos el checkbox que dice: "Reemplazar propietarios en subcontenedores y objetos". Aplicamos y Aceptamos.
Cuando apliquemos se nos mostrará una ventana en la que realizará las operaciones necesarias, esperamos a que acaben de realizarse.

Hacer un usuario propietario de un objeto o de los siguientes objetos (subcontenedores) no hace que tenga control total sobre dicho objeto sino, que pueda tener control para CAMBIAR los permisos a su antojo, y de ese modo poderse dar así mismo más permisos. Esta es la única característica de ser propietario o no d eun objeto.

Que me ofrece ser propietario de un objeto?

Hacer un usuario propietario de un objeto[/u] o de los siguientes objetos (subcontenedores) no hace que tenga control total sobre dicho objeto sino, que pueda tener control para CAMBIAR los permisos de dicho objeto a su antojo, y de ese modo poderse dar así mismo más permisos. Esta es básicamente la única característica de ser propietario o no de un objeto.
Aunque veremos como aprovechar esto y ponerlo en práctica, en un próximo ejemplo de un posible escenario como funciona el ser propietario de un objeto usando los usuarios por defecto de Windows (Owners) y como afectan a sus ACEs en futuros objetos creados por dichos usuairos.


Figura 8: Reemplazando propietario en subcontenedores y objetos.

Si tenemos el siguiente escenario:
Los usuarios "Pepe" y "Lili" forman parte del grupo "Empleados" y a este grupo se le da permisos especiales de crear y solo lectura sobre los objetos carpeta y ficheros, este grupo solo va poder crear y leer estos ficheros. Pero sin embargo añadimos el usuario por defecto de Windows "Creator Owner" y a este le damos control total sobre los objetos carpetas y ficheros, quiere decir que el usuario, "Lili" por ejemplo, cree dicho objeto tendrá control total sobre este indpendientemente de si forma parte del grupo de creación y solo lectura (empleados) ya que al crear dicho objeto a este usuario se le establecen las ACLs del "Creator Owner", con esto conseguimos que un objeto solo sea manipulable desde su creador y que solo lo puedan leer desde otros usuarios del sistema, esto es gracias a las ACLs establecidas en el grupo "Empleados" y a las del "Creator Owner".
Lo mismo pasaría con el "Creator Group" pero en ese caso orientado a un grupo en concreto en vez de a un usuario.


Figura 9: Añadiendo "Creator Owner" a un objeto.


Figura 10: Editando permisos especiales de solo carpeta y archivos al "Creator Owner".

Cuando acabe el proceso, volveremos a la ventana anterior. Pero esta vez nos vamos a:
[7] - A la ficha de "Permisos" > seleccionamos nuestro usuario > Cambiar permisos... > (se nos abrirá otra ventana) seleccionamos nuestro usuario nuevamente > Editar...


Figura 11: Modificación de permisos de usuarios.

Se nos abrirá una la ventana: "Entrada de permiso para Disco local (C:)".
[8] - En el menú desplegable (Aplicar a:) Seleccionamos la opción: "Esta carpeta, subcarpetas y archivos" (Esta opción está marcada por defecto, pero nos aseguramos de que esté seleccionada).
[9] - Después simplemente nos queda Permitir o Denegar privilegios o permisos al usuario, en este caso permitimos y concedemos los privilegios al usuario seleccionado anteriormente. Marcamos el checkbox Control total en permitir, para directamente seleccionar todos los campos. (Sería lo mismo para la denegación, pero lógicamente marcando el checkbox contrario (en la columna de "Denegar")).
[10] - Pulsamos Aceptar, se nos mostrará una ventana realizando las operaciones necesarias para efectuar los cambios en el sistema, esperamos y Aceptamos una ventana que se mostrará al terminar dicho proceso.
Aceptamos también todas las ventanas abiertas. Reiniciamos. Y listo!


Figura 12: Modificación de permisos de usuarios de forma avanzada.

Ahora tendremos el control total del sistema y podremos conceder y denegar privilegios a otros usuarios de manera normal. Como se muestra en la sección de este post "3.A) - Modificar permisos como Administrador"

No voy a pararme a explicar que hacen o deja de hacer cada uno de los permisos ya que para eso las propias websites a las que hice referencia al principio de esta guía, las cuales Microsoft las detalla como los artículos: http://support2.microsoft.com/kb/981949 (KB-981949) y http://support.microsoft.com/kb/308419/es (KB-308419). Explican perfectamente para que valen y que hacen cada una de las características de los permisos.

Ahora, a modo de comentario detallo un poco para completar la información sobre las dos fichas que quedan restantes: Permisos efectivos y Auditoría.

En la ficha o pestaña "Permisos efectivos" nos servirá sencillamente para visualizar o mostrar los permisos por un usuario específico o grupo de usuarios. Pero no es más que ver los permisos que se permiten o deniegan en la ventana de edición de permisos de un objeto como la que se muestra anteriormente.
En el caso de la imagen que vemos a continuación podemos ver el usuario "pepeprueba" (un usuario raso dentro del grupo "Usuarios locales"), los concesión de permisos que tiene.

3.C) Conflictos en permisos para un mismo usuario: Permitir y denegar.

Abro un pequeño apartado explicativo sobre esta cuestión. Planteo el siguiente escenario:
Si tenemos un usuario "pepe" y otros usuarios del que forma parte del grupo "empleados" y un objeto (carpeta compartida) común para almacenar información personal. Si se le da permisos de SOLO LECTURA al grupo empleados del que forma parte pepe, pero sin embargo explicitamente se le dan permisos de ESCRITURA a pepe sobre ese contenedor este va poder leer y escribir, pero el resto de usuarios que forman parte del grupo empleados solo van poder leer.
Por lo que podemos entender de que si a un un usuario que pertence a un grupo le das unos permisos y después a ese usuairo de forma independiente le añades otros permisos, el sistema de permisos NTFS de Windows da prioridad a los permisos explicitos a ese usuario en concreto y no al establecido en el grupo del que también forma parte dicho usuairo.

3.D) Permisos heredables de objetos primarios.

Destacar también que tenemos las opciones de "Incluir permisos heredables del objeto primario al objeto actual", esto nos dice que si tenemos una: CarpetaA con X permisos y dentro de esta creamos una CarpetaB, la CarpetaB tendrá por defecto los mismos permisos que tiene la carpeta padre-raíz (objeto primario).
Pero si quiero que la CarpetaB no herede dichos permisos solamente para esa carpeta y sus objetos ya existentes tendremos que desmarcar y agregar los permisos heredables para que esto no se aplique a las siguientes subcarpetas y/o ficheros.

Nos puede pasar que queramos eliminar de un objeto (carpeta o fichero) el grupo de "usuarios" o "usuarios autentificados" y no podamos hacerlo, así como intentar agregar o quitar otros usuarios y grupos por defecto del sistema. Esto es debido a que los pemrisos son heredados de los objetos padres, por lo que tenemos que desheredar dichos permisos y después proceder a eliminar esos grupos de ese objeto en cuestión.

Si desmarcamos el checkbox (que está marcado por defecto) de "Incluir todos los permisos del objeto primario de este objeto", aparecerá un cuadro de advertencia en el que se nos dice si queremos "Agregar" o "Quitar" esta herencia.
Agregar: Nos mantiene los mismos usuarios y grupos pero quita la herencia del objeto primario padre.
Quitar: Quita todos los usuarios y grupos del objeto, de modo que no quede ninguno asignado a dicho objeto, eso conlleva a que también se elimine la herencia.


Figura 13: Permisos heredables del objeto primario de este ojeto

Microsoft dice lo siguiente:

"Incluir todos los permisos heredables del objeto primario de este objeto":
Si se selecciona, cada objeto secundario tendrá permisos heredados de su objeto primario.
Si se anula la selección, los permisos aplicados al objeto primario no se aplicarán a su objeto u objetos secundarios.

"Reemplazar todos los permisos heredables existentes en todos los descendientes con permisos heredables de este objeto":
Si se selecciona, los permisos de este objeto primario reemplazarán los de los objetos descendientes.
Si se anula la selección, los permisos de cada objeto (tanto de los primarios como de sus descendientes) pueden ser únicos.

Ahora, a modo de comentario detallo un poco para completar la información sobre las dos fichas que quedan restantes: Permisos efectivos y Auditoría.

En la ficha o pestaña "Permisos efectivos" nos servirá sencillamente para visualizar o mostrar los permisos por un usuario específico o grupo de usuarios. Pero no es más que ver los permisos que se permiten o deniegan en la ventana de edición de permisos de un objeto como la que se muestra anteriormente.

En el caso de la imagen que vemos a continuación podemos ver el usuario "pepeprueba" (un usuario raso dentro del grupo "Usuarios locales"), los concesión de permisos que tiene.


Figura 14: Visualización de permisos aplicados al usuario seleccionado.

En la ficha o pestaña "Auditoría", pues creo que está claro que es para poder auditar los objetos y el acceso a ellos para un usuario específico o un grupo de usuarios.


Figura 15: Auditando acceso o modificación a objetos a un usuario específico.

Lo cual para poder hacer esto y poder examinar o ver el Visor de eventos (eventvwr.msc) de Windows Vista/7, tendremos que tener habilitada una directiva en el "Editor de directivas de grupo local" (gpedit.msc). La cual nos permite auditar el acceso correcto o erróneo a objetos, esta se encuentra en:
Configuración de equipo > Configuración de Windows > Configuración de seguridad > Directivas locales > Directiva de auditoría.


Figura 16: Aplicando la GPO para auditar objetos en gpedit.msc.

4) Cambiar el tipo de cuenta: Usuarios o Administrador.

Si queremos omitir el apartado de este post "2) - Habilitar o deshabilitar cuenta de Administrador" y el "3.B) Modificar permisos desde la sesión "Usuario raso" (Propietarios de objetos)..
Direcctamente podremos asignar el "Grupo Administradores" la cuenta de usuario que estemos utilizando o deseemos, de manera muy sencilla. De este modo concederemos o denegaremos permisos de manera normal (siendo Administrador) como se muestra en la sección de este post "3.A) - Modificar permisos desde la sesión Administrador" (pero sin necesidad de entrar en la sesión de Administrador, ya que lo haremos todo desde la sesión usuario).

[1] - Nos vamos a: Inicio > Panel de control > Cuentas de usuario y protección infantil > Cuentas de usuario > Seleccionamos nuestra cuenta de usuario (o la que deseemos) > cambiar el tipo de cuenta > Administrador > pulsamos en el botón que dice: "Cambiar el tipo de cuenta".


Figura 17: Cambiando el tipo de cuenta de un usuario de forma gráfica.

De este modo la cuenta seleccionada pasará a ser parte del "Grupo Administradores" y ya seremos Administrador del sistema, con lo cual tendremos los privilegios para conceder o denegar permisos a otros usuarios. Como ya mendioné anteriormente: en el apartado de este post "3.A) - Modificar permisos desde la sesión Administrador" veremos como modificar los permisos, pero sin necesidad de entrar en la sesión de Administrador, ya que lo haremos todo desde la sesión de la cuenta de usuario que estemos usuando en Windows 7.

Esto anterior es la manera elegante que nos proporciona Windows 7 de hacer de la manera tradicional y que personalmente siempre uso ya es exactamente los mismo.
Se trata de administrar y gestionar esto desde una consola de Microsft "MSC" (MicroSoft Console). Como es el caso del fichero de consola: Inicio > Ejecutar: lusrmgr.msc (Editor de usuarios y grupos locales).

Aquí podemos realizar lo mismo e incluso más funciones ya que podremos ver todos los usuarios y grupos creados en nuestro sistema, modificar así como crearlos y borrar otros (aunque tener cuidado cuales se borran ya que algunos hace uso Windows de ellos). Esta consola nos permite visualizarlo las cuentas y grupos de usuario de un modo digamos ordenado y claro, a mi parecer, más detallado, completo, igual de eficaz y a la vez hacerlo de forma rápida y sencilla.


Figura 18: La "forma más correcta" de cambiar la pertenencia de usuarios a grupos.

5) Habilitar y conceder permisos de Administrador, mediante la Shell de Windows (CMD).

En este apartado, omitiremos todo lo mencionado desde el principio de este post hasta esta sección, excepto la sección "4) - Cambiar el tipo de cuenta: Usuarios o Administrador".

En esta parte, explicaré como modificar (conceder o denegar) permisos (en este caso conceder) de control total en el sistema al grupo Administradores del equipo. Mediante dos simples lineas de comandos, que escribiremos en en la consola o símbolo del sistema (CMD) de Windows 7.

* Nota: Estas lineas de comandos (en este caso) SOLO afectarán al grupo Administradores y concederá permisos totales a dicho grupo. (Es decir, que no negará permisos). Pero existen otras propiedades de los mismo comandos utilizados para denegar permisos. (mirar la ayuda de los comandos, para mirar la información o ayuda de a algún comando en Windows. Colocaremos al final del nombre de comando que queramos: /?. Hago referencia de esto al final de este apartado).

[1] - Si ya cambiamos el tipo de cuenta a Adminsitrador, abrimos la Shell de Windows como Adminsitrador (ya que para ejecutar las siguientes instrucciones de comandos necesitamos privilegios de una cuenta del tipo Administrador), para ello, nos vamos a:
Inicio > Todos los programas > Accesorios > botón derecho sobre Símbolo de Sistema > botón derecho sobre ejecutar como Adminsitrador
Se nos abrirá la Shell de Windows (CMD).
[2] - Aquí tipearémos o escribirémos la siguiente linea de comandos:
takeown /F "%SYSTEMDRIVE%\*" /R /D S
Pulsamos Enter. y esperaremos a que el sistema realize todo el proceso necesario (tendría que terminar con una lista extensa, poniendo en todas las lineas que fue procesando: "CORRECTO").

[3] - A continuación, escribimos esta otra linea de comandos:
icacls "%SYSTEMDRIVE%\*" /grant Administradores:(D,WDAC) /T
Pulsamos Enter, y esperamos a que el sistema termine el proceso.

[4] - Si todo lo procesado salió correctamente, salimos de la consola, escribiendo exit o simplemente cerrando la ventana. Y reiniciamos el PC.

Como algunos le pueden quedar dudas de las linea de comandos mencionadas arriba, pasaré a explicarlas breve y rápidamente:
El comando Takeown: es para indicar el propietario.
El comando Icacls: es para indicar los permisos del propietario que pusimos en el primer comando (Takeown).

Ahora el análisis de las propiedades o atributos de las dos lineas de comandos:
takeown /F "%SYSTEMDRIVE%\*" /R /D S

/F: Indica el archivo/carpeta al que queremos cambiar el propietario (en este caso es %SYSTEMDRIVE%).
%SYSTEMDRIVE%: Es la variable de entorno del disco duro principal desde donde se ejecuta windows, es decir: "C:\" (por defecto, lo más común).
*: Con el símbolo asterisco, indicamos todos los archivos de esa carpeta (Archivos, no carpetas, pero combinado con /R es igual a: Todos los archivos de todas las carpetas del disco duro (en este caso)).
/R: Realiza el cambio de propietario en los subdirectorios (En este caso sería en todo el disco duro).
/D S: En algunas carpetas puede surgir una pregunta al intentar indicar el propietario donde dice que si quieres darle permisos, pues "/D S" lo único que hacen en este caso es contestar "Si" automaticamente a esa pregunta, para no tener que hacerlo manualmente.

icacls "%SYSTEMDRIVE%\*" /grant Administradores:(D,WDAC) /T

%SYSTEMDRIVE%: Como ya dijimos anteriormente, "C:\" (En este caso).
*: (símbolo asterisco) Todos los archivos de esa carpeta (Archivos, no carpetas, pero combinado con /T es igual a: Todos los archivos de todas las carpetas del disco duro).
/T: Realiza el cambio de permisos en los subdirectorios (En este caso sería en todo el disco duro).
/grant: Es la opción para indicar que se le quieren conceder permisos a un usuario. (Lo que quiero decir, es que en vez de /Grant se podria usar /Deny para denegar permisos por ejemplo.)
Administradores: El grupo de usuarios (en este caso), (Administrador).
(D,WDAC): Los permisos a conceder. (en este caso "D" y "WDAC").

Aquí algunos permisos importantes:
D: acceso de eliminación
WDAC: escribir DAC
F: acceso total
M: acceso de modificación
RX: acceso de lectura y ejecución

Un ejemplo de sintaxis básica de ICACLS:
icacls [PATH] [/grant|/deny] [grupo|usuario]:(herencia2)(herencia1)(permiso1,permiso2,) [otros_argumentos /?]

Ejemplo:
icacls c:\carpetapublica /inheritance:r /grant wuser:(OI)(CI)(F) /grant todos:(OI)(CI)(AD,RX)  /Q

Para ICACLS una lista de permisos simples:

    N - sin acceso
    F - acceso total
    M - acceso de modificación
    RX - acceso de lectura y ejecución
    R - acceso de solo lectura
    W - acceso de solo escritura
    D - acceso de eliminación

Una lista de permisos más específica:

    DE - eliminar
    RC - control de lectura
    WDAC - escribir DAC
    WO - escribir propietario
    S - sincronizar
    AS - acceso al sistema de seguridad
    MA - máximo permitido
    GR - lectura genérica
    GW - escritura genérica
    GE - ejecución genérica
    GA - todo genérico
    RD - leer datos/lista de directorio
    WD - escribir datos/agregar archivo
    AD - anexar datos/agregar subdirectorio
    REA - leer atributos extendidos
    WEA - escribir atributos extendidos
    X - ejecutar/atravesar
    DC - eliminar secundario
    RA - leer atributos
    WA - escribir atributos

Lista de herencias:

    (OI) - herencia de objeto
    (CI) - herencia de contenedor
    (IO) - solo herencia
    (NP) - no propagar herencia
    (I) - permiso heredado del contenedor principal


Lista de parámetros aplicables para las herencias de objetos (OI IO CI) con ICALCS (explicado):

    OI: (Object Inherit) Afecta a carpeta que se gestiona y ficheros que tiene dentro.
    CI: (Container Inherit) Afecta a carpeta y subcarpetas (no a ficheros).
    IO: (Inherit Only) NO AFECTA a fichero o carpeta que se gestiona sólo los que están dentro (solo subcarpetas).

    OI CI: Afecta a carpeta, subcarpeta y ficheros. (suele ser la herencia de permisos por defecto y habitual)
    CI IO: Sólo afecta a subcarpetas.
    OI IO: Sólo afecta a los ficheros contenidos en la carpeta que se gestiona.
    CI IO OI: Afecta a los ficheros que tiene dentro y a las subcarpetas.


Para más información de las propiedades de estos dos comandos consultar la ayuda de los mismos. Escribir en una consola CMD:
Takeown /?
Icacls /?


6) UAC (User Account Control "Control de cuentas de usuario").
No tiene que ver con privilegios o permisos ni tipos de cuentas. La relación está, en que si eres administrador, el sistema ya no te sobresaltará tanto con las típicas vetanas de Windows. Me refiero, aquellas que en el momento de instalar alguna aplicación o relaizar alguna otra operación en el sistema, aparecen unas ventanas de advertencia, del estilo:
Estas seguro que quieres ejecutar xxx? Se requieren permisos de Administrador... (Aceptar o Cancelar).
Pues con el UAC deshabilitado del todo (en su nivel más bajo de seguridad) lo que se consigue es que siendo un usuario normal sin apenas privilegios en el sistema, dichas ventanas no sobresalten. Pero como ya dije esto no tiene que ver con permisos (escritura, lectura, ejecución, modificación, etc.).

¿Debemos entonces deshabilitar el UAC?
Si somos administradores no tendríamos necesidad ya que no nos saltarían dichas ventanas (tener en cuenta de que Windows incluyó esta tecnología es su sistema por razones de seguridad). Eso ya es a gusto de cada uno y de la seguridad que quiera tener en su sistema. Personalmente lo aconsejo ya que es una de las cosas que Windows Vista/7 incorpora de manera nativa y la mejor tecnología para poder elevar privilegios de forma cómoda a la vez que añadimos un punto fuerte de seguridad.

El UAC básicamente es una tecnología que lo que hace es avisarnos con advertencias de permisos (mediante pequeñas ventanas) sobre la ejecución de aplicaciones o acciones que se realicen en nuestro sistema Windows. Aunque lo podremos configurar el UAC mediante niveles de seguridad. Para decirle como se tiene que comportar ante ciertas advertencias informativas.

Lo podremos encontrar para su configuración en:
Inicio > Panel de Control > Cuentas de Usuario > Cambiar configuración de Control de cuentas de usuario

Y por último. Recomiendo este hilo del foro oficial de soporte de Microsoft (social.technet.microsoft.com), en el que Jose Manuel Tella Llop da respuesta a algunos problemas de los usuarios:
http://social.technet.microsoft.com/Forums/es-ES/wcvistaes/thread/95da492a-13bd-405d-a782-e2daffa4b893

Espero que este post les sirva de utilidad a muchos.

Saludos!

Link a mi blog con este post: http://www.zonasystem.com/2011/04/activar-habilitar-o-modificar-permisos.html

d3xf4ult

Me e tomado la molestia de realizar esta guía. Estaría bien, que se pudiese colocar en post destacos o post a "leer antes de preguntar", chincheta o lo que veais conveniente.

Saludos  ;)

Randomize

Mira, todo ésto lo tengo que comprobar, para eso he de instalar un 7 en la máquina virtual...

No te prometo nada.

d3xf4ult

#3
Cita de: Randomize en  8 Enero 2012, 20:34 PM
Mira, todo ésto lo tengo que comprobar, para eso he de instalar un 7 en la máquina virtual...

No te prometo nada.

Ok, instalalo y prueba.
Simplemente era una guía de aclaraciones. Pero pruebalo y que no se vaya este post más hacia abajo y se puerda en el olvido o un rincón de este foro jaja
Incluso si no quieres generar una chincheta de este, podrías crear una sección con chincheta donde se haga una recopilación de post de aportes, guías, manuales, etc. (Como hay el foro de "redes" de elhacker.net). O incluirlo en el F.A.Q. de este del foro de Windows.

Si todo esto es para aclarar a esos usuarios que lían con todo esto, como me pasaba a mi. Simplemente era por aportar  :)

Saludos  :)

Randomize

Y tendremos muy encuenta tus aportes pasados, presentes y futuros  ;)

d3xf4ult

Ok. Gracias. Me gusta ayudar y aportar siempre que pueda y sea posible.

Puedes consultar un artículo en "post más importantes" del foro de Redes, sobre:
Normas ISO/IEC - Estandar 80000: Prefijos decimales y binarios (MB y MiB)

Saludos  :)

Eleкtro

#6
Pues ya que estamos para los que se quieran ahorrar tutoriales, Esto lo hice hace 1 o 2 años y ya lo posteé:

EDITO: Bueno he actualizado y mejorado los scripts, despues de un par de años xD, además los que posteé antes usaban el programa "sleep.exe", no me di cuenta, muchos nolo tendrán, así que sorry :P, estos de abajo ya están bien.

Obtener privilegios para esta carpeta

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\shell\Obtener privilegios para esta carpeta]
"NoWorkingDirectory"=""
"position"="bottom"
"icon"="c:\\Program Files\\PiToLoKo Software\\iconos\\key3.ico"

[HKEY_CLASSES_ROOT\Directory\shell\Obtener privilegios para esta carpeta\command]
@="CMD.exe /C @Echo OFF & Title Obtener privilegios para: %%UserName%% & Mode con cols=100 lines=20 && Color 0F & Cls & Echo+ & Echo. Procesando todos los archivos y subdirectorios de... & Ping -n 2 LocalHost >Nul & Echo+ & Dir /B /S /AD \"%1\" && Echo+ & takeown /f \"%1\" /R /D S >nul && Icacls \"%1\" /Grant %%UserName%%:(F) /T | find /i \"correctamente\" && Echo+ & Echo. Privilegio de \"Acceso total\" (F) Concedido para el usuario \"%%UserName%%\"   Ok! && Ping -n 10 LocalHost >Nul && Exit"



Obtener privilegios para este archivo

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\*\shell\Obtener privilegios para este archivo]
@="Obtener privilegios para este archivo"
"icon"="c:\\Program Files\\PiToLoKo Software\\iconos\\key3.ico"
"position"="bottom"

[HKEY_CLASSES_ROOT\*\shell\Obtener privilegios para este archivo\command]
@="CMD.exe /C @Echo OFF & Title Obtener privilegios para: %%UserName%% && Mode Con Cols=100 Lines=5 && Color 0F & Takeown /F \"%1\" >Nul && Icacls \"%1\" /Grant %%username%%:(F) >nul && Echo+ & Echo. %1 & Echo+ & Echo. Privilegio de \"Acceso total\" (F) Concedido para el usuario \"%%UserName%%\"   Ok! && Ping -n 5 LocalHost >Nul && Exit"


PD: Cambiar la ruta del icono a gusto del usuario :P

   

   








Randomize

Tú por aquel entonces eras pitoloko y tu mención ahora que eres electro haxor no cuenta  :(

beholdthe

PITOLOKO?????????????????????
electro hacker es pitoloko??¿?¡

Si es asi, me alegro un monton, porque a mi me ayudo muchisimo y aunque tuvo muchos problemas con gente, conmigo siempre se porto genial.
Me alegra su vuelta

Eleкtro

Cita de: beholdthe en 10 Enero 2012, 02:27 AM
Si es asi, me alegro un monton, porque a mi me ayudo muchisimo y aunque tuvo muchos problemas con gente, conmigo siempre se porto genial.
Me alegra su vuelta

Gracias hombre  :-[

Los problemas quedan en el olvido, Prefiero que ciertas personas piensen que soy un friki al que no hay que hacerle mucho caso y dejen correr el tema, a que piensen que soy un troll que insulto al staff y me odien de por vida y me baneen xD.

Aqui todos estamos para aprender e intentar ayudar en lo posible ^^

Un saludo