
Eu tenho um script no diretório atual, no entanto, dado que:
- a permissão é
-rwxr-xr-x
- o script tem um shebang
#!/bin/bash
no topo do arquivo - minha concha é
/bin/bash
- Posso executá-lo usando
bash script.sh
Não consigo executá-lo usando ./script.sh
. Isso me dá:
bash: ./script.sh: Permissão negada
Por que isso está acontecendo e qual é a solução?
Responder1
A execução não é permitida porque o arquivo está em um sistema de arquivos montado com a opção "noexec". Use
findmnt -u -T .
para descobrir se esse é o caso. Se você tiver privilégios de root,mount -o remount,exec <dir>
deverá remover esta opção.A execução não é permitida porMACpolíticas (SELinux, SMACK, possivelmente AppArmor). Verifique os logs do sistema, começando com
journalctl -n 100
edmesg
. Ignorar isso (se você for o administrador) depende de qual sistema MAC está realmente em uso.
Responder2
Bem, eu encontrei: é "log2ram"
Como eu disse, estou usando o Raspbian em um Raspberry 4, e para aumentar a vida útil do SD, coloquei os logs na RAM e aqui estamos.
===
pi@R4:~/logs $ cat /etc/log2ram.conf
[...]
PATH_DISK="/var/log;/home/pi/logs"
===