lunes, 25 de abril de 2022

Formas de Compartir Carpetas – Permisos de Compartido, de Seguridad, y Efectivos



Desde la interfaz gráfica, hay cinco formas diferentes de compartir una carpeta, y cada una tiene sus particularidades, y los permisos efectivos pueden ser diferentes en cada caso
La infraestructura necesaria para esta demostración es muy simple: un Controlador de Dominio, y una máquina que utilizaremos como cliente para acceder a las carpetas compartidas creadas en el primero
Para no interferir con otros componentes he creado una Unidad Organizativa llamada “Test”, donde he creado un usuario (“User Uno” = u1), y dos grupos (Grupo1 y Grupo2). La cuenta “User Uno es miembro de Grupo1, eso es todo
Además, en el disco he creado una carpeta (Test1) con un archivo, y que utilizaré para las demostraciones. Más adelante y ya que veremos qué permisos toma usando varios procedimientos de compartir, iré creando otras carpetas (Test2, Test3, etc.)
En todos los casos, en el Controlador de Dominio iniciaré sesión como administrador, y en el cliente como usuario (“User Uno”)
Hay varias formas de compartir carpetas, y con esto me estoy refiriendo al procedimiento. Debemos tener cuidado, porque dependiendo de qué procedimiento ejecutemos, los permisos pueden ser diferentes
Comencemos con el procedimiento que es más laborioso, pero es el que generalmente utilizamos los que venimos de hace muchos años con esto, ya que anteriormente era la única forma (salvo que se hiciera desde línea de comandos)
Este procedimiento consiste en hacer botón derecho, en el explorador, sobre la carpeta, ir a la ficha “Sharing”,el botón “Advanced Sharing”, marcar “Share this folder” y luego el botón “Permissions”
Podemos observar que el permiso de compartido por omisión es que todos tienen permisos de lectura (“Everyone Allow Read”)
Dejemos, por ahora, todo como está, simplemente cerremos todas las ventanas aceptando
Y luego desde el cliente conectémosnos al compartido y veremos qué podemos hacer
¿Podremos crear un archivo?
Evidentemente no podremos crear archivos, pues el permiso de “Share” (Compartido) permite a Todos (“Everyone”) solamente lectura
Si abrimos el archivo (Documento1), podremos ver el contenido, pero no guardarlo
Si intentamos guardar con un cambio, obtendremos
Sólo nos dará la opción de guardar, pero en una ubicación diferente a la original
Evidentemente todo lo anterior es lo esperado: que todos (“Everyone”) los usuarios sólo podrán leer y no escribir (ni borrar si quieren probar)
Vamos ahora nuevamente al Controlador de Dominio, y al Grupo1 asignémosle permiso de “Change” (Cambio)
(Me quedó mal el resaltado del permiso: he agregado “Allow Change”)

Si volvemos al cliente, podemos observar que debido a este cambio en los permisos, el usuario puede crear archivos (Documento2)
Podemos corroborar que Documento2 no sólo lo pudimos crear, sino que además modificar y salvar
Pero sin embargo si tratamos de guardar un cambio, en el anterior documento (Documento1), no lo permitirá
Pero los documentos que crea el propio usuario, sin embargo permite modificarlos y aún borrarlos
¿Le parece extraño este comportamiento? No, no lo es, un poco más adelante volveremos sobre el tema, está relacionado con los permisos de seguridad (Permisos NTFS), quién es el propietario de los archivos, y los permisos heredados
Para terminar de ver el tema permisos de Compartido (“Share”), veamos qué sucede si al Grupo2, le ponemos permiso de denegación de lectura (“Grupo2 Deny Read”)
Pedirá confirmación cuando asignamos un permiso de denegación
E incluyamos a “User Uno” en Grupo2
Debemos cerrar e iniciar sesión con el usuario para que se actualizen sus credenciales (“Access Token”)
Como los permisos de denegación, prevalecen sobre los de permitir, en este caso el usuario directamente no tendrá acceso
Si vamos a los permisos, y quitamos a Grupo2, el usuario volverá a tener el mismo acceso que habíamos mostrado antes. Recuerden que el Grupo1 tiene permisos de cambio (“Change”)

Habíamos dejado pendiente el tema de por qué el usuario podía crear y modificar sus propios archivos, pero no el que estaba creado con antelación. Y dijimos que esto estaba relacionado con los permisos de seguridad
Si vemos los permisos de seguridad de la carpeta Test1, podemos observar que el grupo “Users” tiene permisos de lectura, ejecución y listar contenido
Ingresemos con el botón “Advanced” a ver qué más podemos ver
Parece que no es tan intuitivo, hay un permiso “Special” (Especial) otorgado a “Users”, veamoslo
Vemos que justamente el permiso de seguridad “Special”, es el que le permite crear archivos y carpetas
Volviendo a la pantalla anterior, y ubicándonos en la ficha “Effective Access” podemos agregando al usuario ver cuáles son los permisos efectivos
Que vemos que le permiten crear archivos y carpetas. Lo que no informa es de dónde proviene este permiso justamente

Hay una serie de “entidades especiales” o algunos llaman “grupos especiales” que aunque funcionan como grupos, son especiales porque ni el administrador tiene control sobre los mismos. Los puede usar para asignar permisos y derechos, pero no puede controlar a los miembros del grupo. Una cuenta pertenece o no a uno de estos en base a determinadas condiciones
Una propiedad de cada objeto es el “Owner” (Propietario). El que crea un objeto (cualquiera) es su propietario, Y de acuerdo a las especificaciones de seguridad aceptadas mundialmente, el propietario de un objeto tiene control total sobre el mismo
En base a esto vamos a ver los permisos de seguridad que tiene justamente una de estas entidades como es “Creator Owners” (Propietarios Creadores)
Podemos observar los permisos ver que, el propietario de Documento1 es el grupo “Administrators”, no es “User Uno”
En cambio el propietario de Documento2, es justamente el usuario, y por eso a este lo podía modificar, a diferencia con el anterior
Y si van a la ficha original de permisos de Documento2 verán que éste tiene control total (porque es el propietario)
Si volvemos a los permisos de Compartido de la carpeta Test1, y volvemos a darle permisos a Grupo1, sólo de lectura
Entonces el usuario, aunque sea el propietario, no podrá modicarlo, y corroboramos así lo expuesto en la nota hecha anteriormente, que el permiso efectivo cuando se combinan los permisos de Seguridad y Compartido, es siempre el más restrictivo de ambos

Otro tema importante que debemos considerar es la herencia de permisos de seguridad, ya que por omisión, los permisos de seguridad sobre una carpeta se propagarán a todos los archivos y subcarpetas que contenga
Esta herencia se puede deshabilitar
Si deshabiitamos la herencia, ya no se propagarán los permisos “superiores” y el sistema nos preguntará si deseamos copiarlos, o eliminarlos. Elegiré copiarlos, aunque la herencia qude cortada
De esta forma pueden observar que los permisos ya no son heredados (“Inherited from”), y por lo tanto podría modificarlos según necesidad

¿Cómo estamos hasta ahora? ¿parece confuso? Recomiendo que si no está totalmente claro lean la nota “Permisos – Permisos Efectivos” y vuelvan por acá :-)

Vamos a ver un segundo método de compartir carpetas, esta vez con botón derecho sobre la carpeta, pero eligiendo “Share with / Specific people …”
He creado una nueva carpeta (Test2) para esta demostración de procedimiento
En este caso comienza un asistente, donde podremos seleccionar a quién le daremos permisos, y qué tipo de permisos. He seleccionado a Grupo1 permitir lectura (“Read”)
Si vamos a ver los permisos de la carpeta (Test2) con esta forma de compartido, veremos que los permisos de compartido son muy diferentes al caso anterior, ya que en este caso, a Todos (“Everyone”) les ha otorgado Control Total
Y si observamos los permisos de seguridad, vemos que automáticamente ha cortado la herencia de permisos desde el nivel superior
No sólo el asistente ha modificado los permisos de Compartido (“Share”), sino además los de Seguridad (NTFS) y cortado la herencia. Todo esto puede facilitar el trabajo de asignar permisos

La tercera forma de compartir carpetas, la tenemos en la ficha propiedades de la carpeta, ficha “Sharing” (Compartir), pero ahora con el botón “Share” (Compartir)
Esto lo ejecutaré sobre una nueva carpeta (Test3)
El asistente y el resultado es totalmente análogo al caso visto justo anteriormente: modifica ambos tipos de permisos y corta la herencia de permisos de seguridad

La cuarta forma de compartir la podemos ver en “Computer Management”, “Shares / New Share …”
Comienza también un asistente, pero diferente al anterior
Puedo señalar una carpeta creada, o inclusive crearla en el momento
Y una forma “simplificada” de asignar permisos
Observemos que ha cambiado los permisos de Compartido respecto a los casos anteriores
Pero que mantiene los permisos de seguridad heredados

Y ahora veremos la última opción y quizás la más poderosa, ya que es la que ofrece algunas opciones que ninguna de las anteriores mostró
Es desde “Server Manager”, y como muestran las siguientes pantallas
Por omisión, trata de agrupar todos los compartidos en una única carpeta, yo he elegido otra ubicación
Las siguientes opciones no fueron mostradas por ninguno de los procedimientos anteriores
No corta la herencia de permisos de seguridad, por omisión

Resumiendo, hemos mostrado cinco forma diferentes de compartir una carpeta utilizando la interfaz gráfica.