A partir de Vista, cacls
está en desuso. Aquí están las primeras líneas de ayuda:
C:\>cacls
NOTE: Cacls is now deprecated, please use Icacls.
Displays or modifies access control lists (ACLs) of files
Deberías usar icacls
en su lugar. Así es como le otorga a John el control total sobre la D:\test
carpeta y todas sus subcarpetas:
C:\>icacls "D:\test" /grant John:(OI)(CI)F /T
Según la documentación de MS:
F
= Control total
CI
= Herencia de contenedor: este indicador indica que los contenedores subordinados heredarán esta ACE.
OI
= Heredar objeto: este indicador indica que los archivos subordinados heredarán la ACE.
/T
= Aplicar de forma recursiva a archivos y subcarpetas existentes. ( OI
y CI
solo se aplica a archivos y subcarpetas nuevos). Crédito: comentario de @AlexSpence.
Para obtener la documentación completa, puede ejecutar " icacls
" sin argumentos o ver la documentación de Microsoft aquí y aquí
C:\>icacls "D:\test" /grant "John:(OI)(CI)F" /T
También puedes usar ICACLS.
Para otorgar el control total del grupo de usuarios a una carpeta:
Para otorgar permiso de modificación a los usuarios de IIS
C:\MyFolder
(si necesita que su IIS tenga capacidad para R / W archivos en una carpeta específica):Si haces ICACLS /? Podrá ver todas las opciones disponibles.
fuente
cacls
se ha ido, es aún más razón para usar icacls ./grant Users:(OI)(CI)F
usóUsers
con algo más o NO? Segúnicacls "C:\MyFolder" /grant Users:F
Abra un símbolo del sistema, luego ejecute este comando:
F
da acceso completo./q /c /t
aplica los permisos a las subcarpetas.Nota: A veces, "Ejecutar como administrador" ayudará.
fuente
Usa el
cacls
comando. Ver información aquí .fuente
cacls
es relevante; todavía está disponible enWindows 10
; Microsoft despreciaríacmd.exe
también a Powershell.cmd.exe
no está en desuso y es probable que no lo sea, por lo que no es un punto a favor, sinoicacls
todo lo contrario.cacls.exe
. Tampoco mencioné quecmd.exe
ya está en desuso. Creo que las personas deberían al menos ser conscientes de su disponibilidad en versiones superiores, incluso solo por compatibilidad con versiones anteriores o por cualquier otro motivo.Intento de la siguiente manera y me funciona:
1. Abra
cmd.exe
2.
takeown /R /F *.*
3.
icacls * /T /grant [username]:(D)
4.
del *.* /S /Q
Para que los archivos puedan convertirse en mi propio acceso y se asignen a "Eliminar" y luego puedo eliminar los archivos y carpetas.
fuente
Permisos corruptos: recuperar el acceso a una carpeta y sus subobjetos
Aunque la mayoría de las respuestas publicadas en respuesta a la pregunta tienen algún mérito, en mi humilde opinión, ninguna de ellas ofrece una solución completa. La siguiente (podría ser) una solución perfecta para Windows 7 si está bloqueado de una carpeta por la configuración de permisos corruptos:
Para Windows 10, el usuario / SID debe especificarse después de la
/remove:d
opción:.
Notas :
El comando se aplica al directorio especificado.
Especificar el usuario "Todos" establece el permiso más amplio posible, ya que incluye a todos los usuarios posibles.
La opción "/ remove: d" elimina cualquier configuración explícita de DENY que pueda existir, ya que anula la configuración explícita de ALLOW: un preliminar necesario para crear una nueva configuración de ALLOW. Esto es solo una precaución, ya que a menudo no existe una configuración DENY, pero es mejor prevenir que curar.
La opción "/ grant" crea una nueva configuración PERMITIR, un permiso explícito que reemplaza (": r") cualquiera y todas las configuraciones PERMITIDAS explícitas que puedan existir.
El parámetro "F" (es decir, el permiso creado) hace que esto otorgue el control COMPLETO.
El parámetro "/ T" agrega recursividad, aplicando estos cambios a todos los subobjetos actuales en el directorio especificado (es decir, archivos y subcarpetas), así como a la carpeta misma.
Los parámetros "(OI)" y "(CI)" también agregan recursividad, aplicando estos cambios a los subobjetos creados posteriormente.
.
ADENDA (10/02/2019) -
La línea de comandos de Windows 10 anterior me fue sugerida amablemente hoy, así que aquí está. No tengo Windows 10 para probarlo, pero pruébelo si lo tiene (y luego, ¿podrá publicar un comentario?) continuación).
El cambio solo se refiere a eliminar la configuración DENY como primer paso. Es posible que no haya ninguna configuración DENY presente, por lo que esa opción podría no hacer ninguna diferencia. Tengo entendido que, en Windows 7, no necesita especificar un usuario después de / eliminar: d, ¡ pero podría estar equivocado al respecto!
.
ADENDA (21/11/2019) -
El usuario astark recomienda reemplazar Todos con el término * S-1-1-0 para que el comando sea independiente del idioma. Solo tengo una instalación de Windows en inglés, por lo que no puedo probar esta propuesta, pero parece razonable.
fuente
Invalid parameter "/remove:d"
Luché con esto por un tiempo y sólo la combinación de las respuestas en este tema trabajado para mí (en Windows 10):
1. Abrir cmd o PowerShell y vaya a la carpeta con los archivos
2. takeown / R / F .
3. icacls * / T / grant dan: F
¡Buena suerte!
fuente
En caso de que haya alguien más que tropiece en esta página, si desea agrupar varios permisos en un solo comando, utilicé esto:
Tenga en cuenta la cadena csv para los distintos permisos.
fuente
Con un script Excel vba para aprovisionar y crear cuentas. Necesitaba otorgar permisos de derechos completos a la carpeta y subcarpetas que fueron creadas por la herramienta usando la cuenta 'x' de nuestros administradores para nuestro nuevo usuario.
cacls se parecía a esto: cacls \ FileServer \ Users \ Username / e / g Domain \ Username: C
Necesitaba migrar este código a Windows 7 y más allá. Mi solución resultó ser:
icacls \ FileServer \ Users \ Nombre de usuario / concesión: r Dominio \ Nombre de usuario: (OI) (CI) F / t
/ grant: r: otorga derechos de acceso de usuario especificados. Los permisos reemplazan los permisos explícitos previamente otorgados. Sin: r, los permisos se agregan a cualquier permiso explícito previamente otorgado
(OI) (CI): esta carpeta, subcarpetas y archivos.
F - Acceso completo
/ t: recorre todas las subcarpetas para que coincidan con los archivos / directorios.
Lo que esto me dio fue una carpeta en este servidor en la que el usuario solo podía ver esa carpeta y crear subcarpetas, que podían leer y escribir archivos. Además de crear nuevas carpetas.
fuente
XCACLS.VBS es un script muy poderoso que cambiará / editará la información de ACL. La ayuda de c: \ windows \ system32 \ cscript.exe xcacls.vbs devuelve todos los modificadores y opciones.
Puede obtener la distribución oficial desde la página de soporte de Microsoft
fuente
XCACLS.VBS
se puede encontrar?La creación de carpetas masivas y el permiso de concesión me funcionan utilizando el siguiente script de PowerShell.
Nota: debe crear el mismo nombre de usuario de dominio en el archivo csv, de lo contrario obtendrá problemas de permisos
fuente
fuente
excelente punto Călin Darie
Tenía muchas secuencias de comandos para usar cacls. Las moví a icacls. Sin embargo, no pude encontrar una secuencia de comandos para cambiar el volumen de montaje raíz ejemplo: d: \ datafolder. Finalmente creé el script a continuación, que monta el volumen como una unidad temporal y luego aplica seg. Luego lo desmonta. Es la única forma en que descubrí que puede actualizar la seguridad del montaje raíz.
1 obtiene el GUID de montaje de la carpeta en un archivo temporal y luego lee el GUID para montar el volumen como una unidad temporal X: aplica seg y registra los cambios y luego desmonta el volumen solo de la unidad X: para que la carpeta montada no se altere o interrumpa entonces el sec aplicado.
Aquí hay una muestra de mi script:
fuente
Soy Administrador y algunas secuencias de comandos colocaron el permiso "Denegar" en mi nombre en todos los archivos y subcarpetas en un directorio. Ejecutar el
icacls "D:\test" /grant John:(OI)(CI)F /T
comando no funcionó, porque parecía que no eliminaba el "Denegar" directamente de mi nombre de esta lista.Lo único que funcionó para mí es restablecer todos los permisos con el
icacls "D:\test" /reset /T
comando.fuente
en windows 10 trabajando sin "c:>" y ">"
Por ejemplo:
(también esto corrige el error 2502 y 2503)
fuente
Esto es lo que funcionó para mí:
Abra manualmente la carpeta para la que se deniega el acceso.
Seleccione el archivo ejecutable / aplicación en esa carpeta.
Haga clic derecho sobre él y vaya a Properties->Compatibility
Ahora vea el Privilege Levely verifíqueloRun As Administrator
Haga clic en Change Settings for all users.
El problema está resuelto ahora.
fuente