¿Hay algún equivalente de Windows de Linux chmodpara cambiar los permisos de un archivo?
fuente
¿Hay algún equivalente de Windows de Linux chmodpara cambiar los permisos de un archivo?
Greg menciona attrib , pero attrib no está cerca de eso chmod, attribpuede establecer atributos de solo lectura / ocultos de un solo archivo; no proporciona controles específicos como lo icaclshace.
icaclsestablece / 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.
/tactúa de forma recursiva en todos los archivos, carpetas y subcarpetas
/q, no muestra ningún mensaje de éxito,
/ccontinú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.
cmdque 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
icaclssolo 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 (.).Aatributo "archive" ( ) de Windows .xatributos "ejecutables" ( ) de Linux en los atributos del archivo DOS / Windows.Datributo) (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 elwatributo para todos los que faltan; pero el permiso para cambiar este atributo está sujeto a las ACL.Puede ser genial tener un
chmod/chownequivalente en Windows, tal vez escrito en algún lenguaje de secuencias de comandos, que a su vez llamaattribycacls(o sucesores), pero no tengo uno.fuente
CAP_LINUX_IMMUTABLEproceso), mientras que el acceso a establecer atributos en Windows es todo o nada. Es un error común en las implementaciones dechmodWindows 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.chattrcomando. 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.chmoden 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
caclsyicacls.fuente
El
attribcomando 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.exepara 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
attribcomando 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