Skript kann nicht ausgeführt werden, solange die Berechtigung „x“ lautet.

Skript kann nicht ausgeführt werden, solange die Berechtigung „x“ lautet.

Ich habe jedoch ein Skript im aktuellen Verzeichnis, vorausgesetzt:

  1. die Erlaubnis ist-rwxr-xr-x
  2. Das Skript hat einen Shebang #!/bin/basham Anfang der Datei
  3. meine Schale ist/bin/bash
  4. Ich kann es ausführen mitbash script.sh

Ich kann es nicht mit ausführen ./script.sh. Es gibt mir:

bash: ./script.sh: Berechtigung verweigert

Warum passiert das und was ist die Lösung?

Antwort1

  • Die Ausführung ist nicht zulässig, da sich die Datei auf einem Dateisystem befindet, das mit der Option „noexec“ gemountet wurde. Verwenden Sie , findmnt -u -T .um herauszufinden, ob dies der Fall ist. Wenn Sie Root-Rechte haben, mount -o remount,exec <dir>sollten Sie diese Option entfernen.

  • Die Ausführung ist nicht gestattet durchMACRichtlinien (SELinux, SMACK, evtl. AppArmor). Überprüfen Sie die Systemprotokolle, beginnend mit journalctl -n 100und dmesg. Das Umgehen dieser (wenn Sie der Administrator sind) hängt davon ab, welches MAC-System tatsächlich verwendet wird.

Antwort2

Nun, ich habe es gefunden: es ist „log2ram“

Wie gesagt verwende ich Raspbian auf einem Raspberry 4 und um die Lebensdauer der SD-Karte zu verlängern, habe ich die Protokolle im RAM abgelegt, und hier sind wir.

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

verwandte Informationen