Permisos del recurso compartido
Solo actúan cuando se llega por la red. Son gruesos: leer, cambiar, control total.
Si te sientas delante del servidor, esta capa no existe.
Es la regla que ordena todo lo demás, y la que casi nadie sigue al principio: los permisos se dan a grupos, y las personas se meten en grupos.
La razón se ve el día que entra alguien nuevo. Si los permisos están en grupos, se le añade a «Contabilidad» y ya tiene lo que le toca. Si están puestos persona a persona, hay que recorrer las carpetas adivinando dónde tenía acceso quien se fue, y siempre queda alguna suelta.
# Crear un usuario local
New-LocalUser -Name "jgomez" -FullName "Julia Gomez" `
-Description "Contabilidad" -Password (Read-Host -AsSecureString)
# Crear el grupo y meter a la persona dentro
New-LocalGroup -Name "Contabilidad" -Description "Acceso a la carpeta contable"
Add-LocalGroupMember -Group "Contabilidad" -Member "jgomez"
# Ver quien esta en un grupo
Get-LocalGroupMember -Group "Contabilidad"Read-Host -AsSecureString pide la contraseña sin mostrarla y
sin dejarla escrita en el comando. Es lo correcto: una contraseña escrita en la línea
de comandos queda en el historial y en los registros.
Aquí está lo que hace que Windows desconcierte a quien viene de otro sistema. Una carpeta compartida en red tiene dos juegos de permisos distintos, y los dos se aplican a la vez.
Solo actúan cuando se llega por la red. Son gruesos: leer, cambiar, control total.
Si te sientas delante del servidor, esta capa no existe.
Los del sistema de archivos. Actúan siempre, por red y en local, y son finos: se puede permitir escribir pero no borrar.
Es la capa que de verdad protege.
Al entrar por la red se aplican los dos, y gana el más cerrado.
De ahí el clásico: «le di control total y sigue sin poder escribir». Sí, en una capa; la otra lo estaba frenando.
La práctica que evita el problema de raíz, y es la que recomienda Microsoft: en el recurso compartido se da control total al grupo «Todos», y todo el control real se hace con permisos NTFS.
No es «abrir todo»: es desactivar una de las dos capas para que solo mande la que es fina y funciona igual en red y en local. Con una sola capa que revisar, los permisos dejan de ser un misterio.
New-Item -Path "D:\Datos\Contabilidad" -ItemType Directory
En una unidad de datos, no en la del sistema: si se llena, no debe tumbar el servidor.
New-SmbShare -Name "Contabilidad" -Path "D:\Datos\Contabilidad" -FullAccess "Todos"
Aquí es donde se «desactiva» la capa de recurso compartido, a propósito. Todavía nadie puede entrar: falta NTFS.
Sobre la carpeta, permiso de Modificar al grupo «Contabilidad».
Es el permiso normal de trabajo: leer, escribir y borrar sus archivos, sin poder cambiar los permisos de la carpeta.
Por defecto suele haber un permiso amplio para «Usuarios». Se revisa y se quita lo que no corresponda.
Para eso hay que romper la herencia: es el paso siguiente.
Entra desde otro equipo con un usuario que no esté en el grupo y confirma que no ve nada.
Un permiso que no se ha probado con quien no debería entrar no está comprobado.
# Ver quien tiene que sobre una carpeta
Get-Acl "D:\Datos\Contabilidad" | Format-List
# Anadir permiso de modificacion al grupo
$acl = Get-Acl "D:\Datos\Contabilidad"
$regla = New-Object System.Security.AccessControl.FileSystemAccessRule(
"Contabilidad", "Modify", "ContainerInherit,ObjectInherit", "None", "Allow")
$acl.SetAccessRule($regla)
Set-Acl "D:\Datos\Contabilidad" $aclEse ContainerInherit,ObjectInherit es lo que hace que el
permiso baje a las subcarpetas y a los archivos. Sin él, el permiso
se queda solo en la carpeta de arriba y la gente entra pero no ve nada dentro.
Los permisos bajan de una carpeta a lo que contiene. Es lo que permite gestionar una estructura entera desde arriba, y funciona muy bien hasta que alguien la rompe sin darse cuenta.
Al quitar un permiso heredado en una subcarpeta, Windows pregunta si quieres convertir los heredados en permisos propios. Si aceptas, esa carpeta queda desconectada del padre: a partir de ahí, los cambios de arriba ya no llegan.
Ese es el origen de la mitad de los «permisos raros» de una empresa. Se añade un grupo nuevo en la carpeta principal, funciona en todas partes menos en tres subcarpetas, y nadie entiende por qué. La herencia estaba rota desde hacía dos años.
Get-Acl lo delata: los permisos heredados aparecen marcados como
tales, y los propios no. Antes de pelear con un permiso, comprueba si la carpeta
sigue heredando.
Windows ofrece muchos niveles, pero en la práctica se usan tres. La regla es siempre la misma: el mínimo que permita trabajar.
Piensa qué permite cada uno antes de voltear.
Tres causas, en este orden: la otra capa de permisos lo está frenando, la herencia está rota en esa subcarpeta, o hay un Denegar heredado de otro grupo.
Y una cuarta muy frecuente: los grupos se leen al iniciar sesión. Si acabas de meter a alguien en un grupo, tiene que cerrar sesión y volver a entrar.
Falta la herencia hacia los objetos de dentro: el permiso se aplicó solo a la carpeta.
Se corrige aplicando el permiso a «esta carpeta, subcarpetas y archivos».
Existe la enumeración basada en el acceso: quien no tiene permiso sobre una carpeta ni siquiera la ve en la lista.
Se activa por recurso compartido y evita muchas preguntas incómodas sobre carpetas que no deberían estar a la vista.
Suele pasar cuando se quitan todos los permisos por error. El administrador puede tomar la propiedad de la carpeta y volver a asignarlos.
Se hace desde las opciones avanzadas de seguridad, y queda registrado.
Diste control total en el recurso compartido y el usuario sigue sin poder escribir. ¿Qué pasa?
Añades un grupo en la carpeta principal y funciona en todas las subcarpetas menos en tres. ¿Qué revisas?
Metiste a un usuario en un grupo con permisos y dice que sigue sin acceso. ¿Qué es lo primero?
Ya sabes repartir el acceso. La siguiente lección es dar de alta lo que el servidor tiene que hacer: instalar roles y características con PowerShell, y la regla que ya viste en el lado Linux -no instalar nada que no se vaya a usar-.
Siguiente: Roles y características
Continuar ← Administrarlo en remoto