Cómo marcar "permitir ejecutar archivo como programa" en una unidad externa

15

Si intento configurar esta opción para un archivo en una unidad externa, simplemente se desmarca. Hacer chmod +xno tiene efecto. La unidad está montada con opciones predeterminadas.

Borsook
fuente
44
¿Cuál es el sistema de archivos en él?
nickguletskii

Respuestas:

32

Es probable que su disco externo esté formateado NTFS o FAT32. Esos sistemas de archivos no admiten permisos de archivos de Linux.

Ahora tiene al menos cinco opciones:

  • Simplemente cópielo en el escritorio (o su carpeta de Inicio) y configure los permisos en ese archivo.
  • Haga una copia de seguridad de los datos y vuelva a formatear la unidad en el ext4sistema de archivos. Esto se puede hacer usando la Utilidad de Discos o GParted
  • Ejecute el archivo con un programa, abra una terminal y ejecute:
    • para scripts de Bash: bash /path/to/your/file.sh
    • para scripts de Python: python /path/to/your/file.py
    • para scripts de Perl: perl /path/to/your/file.pl
    • para ejecutables de Windows: wine /path/to/your/file.exe
    • para binarios de 32 bits: /lib/ld-linux.so.2 /path/to/your/file
    • para binarios de 64 bits: /lib/ld-linux-x86-64.so.2 /path/to/your/file
  • Copie el archivo a su computadora (por ejemplo, carpeta de inicio), configure el bit de ejecución y ejecútelo. (esto no se puede hacer para todos los archivos)
  • (posiblemente peligroso) Monte la partición con el bit de ejecución establecido para todos los archivos. Para hacerlo, siga estas instrucciones:

    1. Monte la partición (abriéndola en un navegador de archivos, por ejemplo)
    2. Abra una terminal y ejecute:

      sudo mount -o remount,fmask=027 /media/YOURDRIVE
      

      Si no puede escribir / acceder a los archivos, ejecute el comando con ,uid=$(id -u)after fmask=022:

      sudo mount -o remount,fmask=027,id=$(id -u) /media/YOURDRIVE
      

    "Posiblemente peligroso" porque otorga permisos de ejecución a todos los archivos, solo use esta opción si los otros métodos no funcionan.

Lekensteyn
fuente
77
+1 para el archivo `/lib/ld-linux.so.2 que es nuevo para mí
enzotib
2
wine /path/to/your/fileTambién funciona para aplicaciones de Windows.
Nemo
@ Capt.Nemo Buena pista, agregada
Lekensteyn
Buena respuesta; @Cap - ¡Buen comentario!
boehj
3

Si el sistema de archivos está formateado como FAT o NTFS, siempre puede montarlo con los permisos adecuados. Los permisos predeterminados cuando monta desde la línea de comandos incluyen permisos de ejecución para todos los usuarios.

Para obtener más resultados específicos, consulte las páginas del manual de mount.ntfs-3gy mount, este último en la sección Opciones de montaje para la grasa , en particular, echar un vistazo a las opciones uid, gid, umask, fmask, dmask,

enzotib
fuente
0

Ubuntu 10.04 no tuvo problemas para configurar permisos para ejecutar programas o leer / escribir en unidades externas.

Es un rasgo perdurable para mí que la convierte en la mejor versión que se haya ejecutado en un USB.
Cualquier cosa que se haya quitado para detener esto, y su mala conectividad inalámbrica predeterminada, es lo que hace que 10.10 y más allá sea un desastre de frustración.

Arreglar cosas como esta no debería ser tarea del usuario. Si la ejecución móvil es obligatoria, use 10.04.

247wkman
fuente