¿Hay algún equivalente de Windows de Linux chmod
para cambiar los permisos de un archivo?
fuente
¿Hay algún equivalente de Windows de Linux chmod
para cambiar los permisos de un archivo?
Greg menciona attrib
, pero attrib
no está cerca de eso chmod
, attrib
puede establecer atributos de solo lectura / ocultos de un solo archivo; no proporciona controles específicos como lo icacls
hace.
icacls
establece / restablece las listas de control de acceso, por lo que puede otorgar / denegar derechos para SID y grupos individuales. Sin embargo, es bastante complicado.
Aquí hay un ejemplo que he guardado en mi github gist ; restablece la propiedad y la lista de control de acceso para todos los archivos en una carpeta y es particularmente útil para corregir esos molestos "Necesitas permisos de ... para realizar esta acción" especialmente cuando mueves archivos de una instalación previa:
icacls * /reset /t /c /q
Restablecer reemplaza el existente con la lista predeterminada.
/t
actúa de forma recursiva en todos los archivos, carpetas y subcarpetas
/q
, no muestra ningún mensaje de éxito,
/c
continúa con los archivos restantes incluso en caso de error.
También puede hacer cosas como hacer una copia de seguridad de las ACL existentes y aplicarlas en todos. Eche un vistazo a ss64 que explica muy bien las diferentes opciones y conmutadores.
cmd
que obtienes al presionar [Win] + [R] carece de estos. Para tales necesidades especiales, tengo un acceso directo "Admin shell", con "Ejecutar como administrador" (o similar; estoy en un sistema Windows alemán) marcado (y con un color de fondo rojo oscuro).De cualquier cacls , xcacls , o mi favorito personal icacls probablemente harán lo que necesita.
fuente
icacls
solo está disponible en Vista / 7.No puede haber un equivalente exacto, ya que Linux y DOS / Windows usan atributos para diferentes propósitos y (como dijo Chathuranga antes) el modelo de seguridad es diferente:
H
) y "sistema" (S
) que no tienen un equivalente en Linux; allí, los archivos se ocultan al anteponer el nombre con un punto (.
).A
atributo "archive" ( ) de Windows .x
atributos "ejecutables" ( ) de Linux en los atributos del archivo DOS / Windows.D
atributo) (pero no se puede cambiar de todos modos).El atributo del archivo DOS
R
(solo lectura) es el que podría considerarse que tiene un equivalente: este conjunto de atributos es más o menos como elw
atributo para todos los que faltan; pero el permiso para cambiar este atributo está sujeto a las ACL.Puede ser genial tener un
chmod
/chown
equivalente en Windows, tal vez escrito en algún lenguaje de secuencias de comandos, que a su vez llamaattrib
ycacls
(o sucesores), pero no tengo uno.fuente
CAP_LINUX_IMMUTABLE
proceso), mientras que el acceso a establecer atributos en Windows es todo o nada. Es un error común en las implementaciones dechmod
Windows usar este comando para establecer el atributo de archivo de solo lectura. Lamentablemente, los sistemas están tan informados como los programadores que los desarrollan.chattr
comando. Pero no querías decir que yo "confundiera los atributos y permisos de los archivos", ¿verdad? AFAICS, cada palabra que escribí sobre los atributos de DOS sigue siendo correcta.chattr
, excepto que Windows tiene un atributo de directorio ya que no hay inodo.chmod
en Windows porque no hay nada como el atributo "modo" del archivo. El conjunto estándar de atributos de archivo de Windows no tiene nada que ver con esto. El atributo de solo lectura no es un permiso de archivo. Básicamente dice que el archivo está escrito en piedra, por lo que todos los intentos de modificarlo deben fallar. El atributo de archivo "inmutable" de Linux es similar. Windows solo usa ACL para los permisos, por lo que icacls.exe y similares son los únicos comandos similares sobre el tema de los permisos.Funciona de maravilla para cambiar los permisos en una carpeta para usuarios de dominio. Información adicional sobre
cacls
yicacls
.fuente
El
attrib
comando es la coincidencia más cercana para cosas muy básicas (solo lectura, marcas de archivo). Luego está el comando ACL (lista de control de acceso)cacls
. Por último, pero no menos importante, dado que Windows es realmente compatible con Posix, existen los indicadores tipo Unix. Si instala el conjunto de herramientas Cygwin, obtendrá unchmod
. (Un poco fuera de tema, ya que está buscando un equivalente de un comando unix, descargar e instalar Cgygwin puede ser algo interesante para usted).fuente
Utilizo el comando de Windows
takeown.exe
para cambiar los permisos de archivo a mi ID de usuario conectado actualmente: http://technet.microsoft.com/en-us/library/cc753024.aspxfuente
No hay nada llamado chmod en Windows porque el modelo de seguridad de Windows es diferente al de Linux. Puede usar el
attrib
comando para cambiar las propiedades de los objetos. (Pero son más hacia propiedades globales).fuente
Para mí, la solución es instalar Cygwin y agregar su carpeta bin a la ruta del sistema. Luego, si ejecuta "chmod" en la línea de comando, funcionará. Aunque no he verificado su corrección.
fuente