Respuestas:
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).
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 el w
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 llama attrib
y cacls
(o sucesores), pero no tengo uno.
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 de chmod
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.
icacls "C:\folder" /grant:r "Domain\Users":(OI)(CI)M /T /C
Funciona de maravilla para cambiar los permisos en una carpeta para usuarios de dominio. Información adicional sobre cacls
y icacls
.
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á un chmod
. (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).
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.aspx
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).