No se puede ejecutar el script mientras su permiso es 'x'

No se puede ejecutar el script mientras su permiso es 'x'

Sin embargo, tengo un script en el directorio actual, dado que:

  1. el permiso es-rwxr-xr-x
  2. el script tiene un shebang #!/bin/bashen la parte superior del archivo
  3. mi caparazón es/bin/bash
  4. Puedo ejecutarlo usandobash script.sh

No puedo ejecutarlo usando ./script.sh. Me da:

bash: ./script.sh: Permiso denegado

¿Por qué sucede esto y cuál es la solución?

Respuesta1

  • La ejecución no está permitida porque el archivo está en un sistema de archivos montado con la opción "noexec". Úselo findmnt -u -T .para averiguar si ese es el caso. Si tiene privilegios de root, mount -o remount,exec <dir>debe eliminar esta opción.

  • La ejecución no está permitida porMACpolíticas (SELinux, SMACK, posiblemente AppArmor). Verifique los registros del sistema, comenzando con journalctl -n 100y dmesg. Omitir esto (si es el administrador) depende de qué sistema MAC esté realmente en uso.

Respuesta2

Bueno, lo encontré: es "log2ram"

Como dije, estoy usando Raspbian en una Raspberry 4 y para aumentar la vida útil de la SD, coloqué los registros en la RAM y aquí estamos.

===
pi@R4:~/logs $ cat /etc/log2ram.conf
[...]
PATH_DISK="/var/log;/home/pi/logs"
===

información relacionada