No se pueden establecer permisos para archivos en una partición NTFS

12

Recuerdo que pude ejecutar un Linux .exe que se colocó en una partición NTFS antes de instalar 10.10 RC. Pero si trato de ejecutarlo ahora, no puedo ejecutarlo ya que no tiene el permiso de ejecución. Lo malo es que tampoco puedo cambiar los permisos. Estoy chmodterminando +xpero no hay ningún cambio en absoluto con sus permisos.

Entonces, ¿esto parece ser un error? ¿Alguna ayuda?

Aunque cuando lo puse en la partición ext4, puedo configurar el permiso. Pero quiero hacer esto como lo hice antes, directamente desde su ubicación NTFS predeterminada.

ashishsony
fuente

Respuestas:

12

NTFS no admite el permiso de ejecución porque está diseñado para Windows, que no tiene el mismo concepto de archivos "ejecutables" que Linux. Si está intentando ejecutar archivos .exe de Windows en Wine, aún debería funcionar si ejecuta wine explícitamente, así:

wine /path/to/executable.exe

Si necesita ejecutar archivos directamente, puede establecer los permisos que se aplicarán a todos los archivos con la fmaskopción /etc/fstab. Es posible que también deba agregar la execopción si ese no es el predeterminado para NTFS (no tengo una unidad a mano para verificar en este momento). El valor de fmaskle dice al controlador qué bits debe desactivar, por lo que, por ejemplo, para permitir lectura, escritura y ejecución para todos los usuarios, debería tener algo como esto:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=000  0  0

Si ya hay una fmaskopción, la forma más sencilla de activar el bit de ejecución es restar 1 de cualquier dígito que sea impar.

Si no sabe cómo funciona el enmascaramiento de permisos, la idea básica es que los permisos de lectura, escritura y ejecución están representados por los valores 4, 2 y 1, respectivamente. Puede agregarlos juntos para combinar permisos, por ejemplo, leer + escribir sería 6. La máscara de permisos es una combinación de tres dígitos que se aplican al propietario, el grupo y "otros" (todos los demás).

Solo recuerde que fmask(también umasky dmask) en fstab son los permisos que desea desactivar .

Como ejemplo un poco más interesante, esto establecería los permisos en "rwx" para el propietario, "rx" para el grupo y "r" para todos los demás:

/dev/hda1  /mnt/windows  ntfs-3g  defaults,exec,fmask=023  0  0
Matthew Crumley
fuente
gracias Matthew ... esa entrada fstab es la clave de mi problema ... como instalé recientemente el ubuntu RC, así que no incluí la entrada fstab para el montaje automático de las unidades ntfs ... que tenía en mi sistema operativo anterior. ... por lo que la bandera del ejecutivo es la clave ... que creo que no se incluye al montar manualmente haciendo "doble clic" en las unidades en la vista de mi computadora ... gracias. :)
ashishsony 02 de
Esto es lo que tuve que hacer para cambiar los permisos de las cosas en mi segundo disco.
dkuntz2
"Al contrario de lo que la mayoría de la gente cree, NTFS es un sistema de archivos compatible con POSIXIX, y es posible usar permisos en NTFS" askubuntu.com/a/74851/253474 technet.microsoft.com/en-us/library/cc976809.aspx
phuclv
0

Yo uso una línea como la siguiente en mi /etc/fstabarchivo:

/dev/sda5    /media/disk    ntfs,   user,noauto,exec    0 2

lo que evita que la partición se monte al inicio, pero me permite montar como root con:

sudo mount /dev/sda5

o

sudo mount /media/disk 

desde la línea de comando.

El montaje desde "Lugares" da un error, por lo que esta solución no es perfecta, pero estoy dispuesto a vivir con ella. Espero que esto sea útil para otros.

Aterciopelado
fuente
0

Parece un error en versiones anteriores ...

Intenta actualizar a Wine 1.3

Esto funcionó para mí, y ahora puedo instalar cualquier cosa directamente desde una partición NTFS.

Rafael Borges
fuente