Shell-Skriptberechtigung trotz +x-Flag verweigert

Shell-Skriptberechtigung trotz +x-Flag verweigert

Das ist merkwürdig, es passiert nur auf einem Server (Shared Hosting, daher habe ich nur eingeschränkten Zugriff auf Konfiguration und Protokolle), aber ich komme nicht dahinter.

Ich habe ein Shell-Skript, das die Bereitstellung einiger Apps ausführt. Die Datei hat ein +x-Flag, aber ich kann sie nicht ausführen, indem ich einfach ihren Namen von der Shell aus aufrufe. Ich erhalte die Fehlermeldung „Zugriff verweigert“. Der Aufruf von Bash mit dem Dateinamen als Argument funktioniert einwandfrei. Es sieht ungefähr so ​​aus:

[someuser@someserver:~] $cat test.sh
echo "hooray!"
[someuser@someserver:~] $chmod +x test.sh
[someuser@someserver:~] $ls -l test.sh
-rwxrwxr-x 1 someuser someuser 14 Oct  8 11:27 test.sh
[someuser@someserver:~] $./test.sh
-bash: ./test.sh: Permission denied
[someuser@someserver:~] $bash test.sh
hooray!

Das Hinzufügen von a #!/bin/basham Anfang hilft nicht. Ich habe es auch von einer anderen Shell aus versucht (Standard ist Bash, habe es in sh versucht), dasselbe ist passiert.

Das ist kein großes Problem, aber es ist mir ein Rätsel. Was könnte die Ursache sein?

Antwort1

Ich denke, es liegt an der Mount-Option "noexec" für den Ordner, in dem sich Ihr Skript befindet. Sie können versuchen, dies mit diesem Befehl zu überprüfen

mount | grep `df -P /path/to/folder/with/script | tail -1 | cut -d ' ' -f 1`

verwandte Informationen