Mejoras de Chmod y Chown WSL en Windows 10
Los usuarios de Linux definitivamente están familiarizados con las herramientas de consola chown y chmod. Estas dos aplicaciones son esenciales cuando se trata de administración de permisos y propiedad. Recientemente, Microsoft ha realizado una serie de mejoras en estas herramientas en su propio subsistema de Linux incluido con Windows 10.
Anuncio publicitario
Ahora puede configurar el propietario y el grupo de archivos usando chmod / chown y modificar los permisos de lectura / escritura / ejecución en WSL. También puede crear archivos especiales como FIFOS, sockets Unix y archivos de dispositivo. Fue una característica muy esperada por muchos usuarios de WSL.
Otro cambio interesante son las nuevas opciones de montaje con el sistema de archivos DrvFs para proyectar permisos en archivos además de proporcionar nuevos metadatos de Linux en archivos y carpetas.
Hay un paso que debe dar antes de poder disfrutar de estas nuevas funciones: debe desmontar drvfs y volver a montarlo con el indicador de 'metadatos'. Para hacer esto, ingrese los siguientes comandos en la Terminal:
sudo umount / mnt / c sudo mount -t drvfs C: / mnt / c -o metadatos
Puede verificar que se montó correctamente ejecutando "mount -l" para ver algo como esto:
DrvFs es un complemento de sistema de archivos para WSL que agrega soporte para la interoperabilidad entre WSL y el sistema de archivos de Windows. DrvFs permite que WSL monte unidades con sistemas de archivos compatibles en / mnt, como / mnt / c, / mnt / d, etc.
DrvFs agrega una serie de nuevas opciones de montaje. Son los siguientes:
Las nuevas opciones de montaje incluyen:
- uid: el ID de usuario utilizado para el propietario de todos los archivos
- gid: el ID de grupo utilizado para el propietario de todos los archivos
- umask: una máscara octal de permisos para excluir para todos los archivos y directorios.
- fmask: una máscara octal de permisos para excluir de todos los archivos normales.
- dmask: una máscara octal de permisos para excluir para todos los directorios.
Vea el siguiente ejemplo:
sudo mount -t drvfs C: / mnt / c -o metadatos, uid = 1000, gid = 1000, umask = 22, fmask = 111
Después de ejecutar el comando de montaje, verá su montaje (en este caso, C :) enumerado con todos los parámetros que pasó cuando solicitó una lista de dispositivos montados.
Este cambio permitirá montar carpetas y particiones de Windows bajo otra cuenta de usuario en WSL en lugar de uno predeterminado.
Con este cambio, los permisos de Linux se almacenarán como metadatos adicionales para un archivo. Esto permitirá almacenar permisos de Linux y Windows para un solo archivo. Ahora puede cambiar los permisos tanto en WSL como en Windows por separado sin dañar el medio ambiente. Como recordarás, modificar archivos de Linux desde Windows podría romper WSL antes.
Los archivos recién creados en WSL se crearán con metadatos de forma predeterminada y respetarán las opciones de montaje que haya establecido.
Advertencias importantes
Hay algunas cosas de las que debes asegurarte de estar al tanto cuando juegues con los nuevos metadatos:
La edición de un archivo con un editor de Windows puede eliminar los metadatos de Linux del archivo. En este caso, el archivo volverá a sus permisos predeterminados.
Eliminar todos los bits de escritura en un archivo en WSL hará que Windows marque el archivo como de solo lectura.
Si tiene varias distribuciones WSL instaladas o varios usuarios de Windows con WSL instalado, todos usarán los mismos metadatos en los mismos archivos. Los uid de cada cuenta de usuario de WSL pueden diferir. Esto es algo a tener en cuenta al establecer permisos.
Por ejemplo, puede deshabilitar los permisos de escritura en un archivo en Windows y modificar el archivo para mostrar que los permisos de escritura están habilitados en WSL. O puede tener habilitados los permisos de lectura en Windows y eliminar los permisos de lectura en WSL. Puede ver este concepto ilustrado a continuación.
Fuente: Microsoft.