2011-12-30 18 views
6

permisos de archivos de Windows son bastante diferentes de los permisos en Unix, así que ¿cómo es chmod de GnuWincoreutils implementada en Windows?¿Cómo funciona chmod para Windows?

+0

Probablemente no en todos. Por lo que he visto de * algunos * binarios GnuWin32 al menos, simplemente dejan caer cosas que no funcionan en Windows. – Joey

+0

Si esto es realmente acerca de la programación, por favor reformúlelo como tal. – Randolpho

+4

Lo que no está claro acerca de "¿cómo es chmod ... _implemented_ en Windows" es una pregunta de programación? –

Respuesta

2

A menos que leí mal su pregunta, creo que esto es realmente una pregunta serverfault.

Pero suponiendo que esto es realmente acerca de la programación implicados en la ejecución chmod compatible con POSIX en Windows, voy a dar una oportunidad de responder a la pregunta. En primer lugar, algunos antecedentes ... this wikipedia article hace un buen trabajo al discutir las diferencias entre los dos sistemas. En resumen: los sistemas operativos basados ​​en Windows NT (Windows XP no FAT, Windows Vista, Windows 7, Windows Server 200X) utilizan un sistema de lista de control de acceso que es más similar a VAX que a UNIX. También tienen algunos permisos más que solo leer/escribir/ejecutar.

Dicho eso ... las diferencias no son tan grandes: el propietario de un archivo puede otorgar permisos sobre el archivo como en los sistemas POSIX, pero en lugar de estar limitado al propietario, el grupo del propietario y el resto del mundo como en POSIX, los permisos se pueden ajustar para usuarios específicos y grupos de usuarios.

Dado que un usuario puede pertenecer a más de un grupo, supongo que establecer permisos de grupo simplemente agregará todos los grupos del que el usuario forma parte al archivo ACL y establecerá los mismos permisos sobre ellos. El mundo es bastante fácil, ese es el grupo "Todos". Ditto propietario. También me imagino que los permisos se limitarían a los permisos POSIX, es decir, leer, escribir, ejecutar.

Dado que este cubre el 99% de la mayoría de los problemas de permisos que un usuario podría desear para manejar en un archivo, estaría imagen que es por lo que la utilidad chmod iría. Un usuario siempre puede simplemente abrir la ventana de propiedades del archivo y obtener más ajustes con los permisos para el contenido de su corazón.

Si tuviera que implment chmod en Windows, probablemente añadir modificadores de comando adicionales para permitir la adición de usuarios y permisos específicos a la ACL por su nombre.

Editar
me acaba de encontrar this answer aquí en StackOverflow que trata el tema de forma más directa.

Resulta que hay una función win32 llamada _chmod que funciona casi exactamente como chmod en núcleos unix.

+0

Las funciones con prefijo de subrayado son (por lo general) siempre extensiones de c-runtime. _chmod es una extensión ms visual C++, no estrictamente una función Win32. –

+0

@ChrisBecke Tienes razón, es parte de [Microsoft Runtime] (http://msdn.microsoft.com/en-us/library/sk54f3f5 (v = vs.80) .aspx) que no es necesariamente Win32 – Randolpho