
Sin embargo, tengo un script en el directorio actual, dado que:
- el permiso es
-rwxr-xr-x
- el script tiene un shebang
#!/bin/bash
en la parte superior del archivo - mi caparazón es
/bin/bash
- Puedo ejecutarlo usando
bash 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 100
ydmesg
. 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"
===