権限が「x」の場合、スクリプトを実行できません

権限が「x」の場合、スクリプトを実行できません

ただし、現在のディレクトリにスクリプトがあります。

  1. 許可は-rwxr-xr-x
  2. #!/bin/bashスクリプトのファイルの先頭にシェバンがある
  3. 私の殻は/bin/bash
  4. 次のように実行できますbash script.sh

を使用して実行することはできません./script.sh。次のようになります:

bash: ./script.sh: 権限が拒否されました

なぜこのようなことが起こるのでしょうか、そして解決策は何でしょうか?

答え1

  • ファイルは「noexec」オプションでマウントされたファイルシステム上にあるため、実行は許可されません。 を使用して、findmnt -u -T .それが当てはまるかどうかを確認します。ルート権限がある場合は、mount -o remount,exec <dir>このオプションを削除する必要があります。

  • 実行は許可されていませんマックjournalctl -n 100ポリシー (SELinux、SMACK、場合によっては AppArmor)。およびで始まるシステム ログを確認しますdmesg。 これをバイパスするかどうか (管理者の場合) は、実際に使用されている MAC システムによって異なります。

答え2

ええ、見つけました。それは「log2ram」です

前述したように、私は Raspberry 4 で Raspbian を使用しており、SD の寿命を延ばすためにログを RAM に配置しました。

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

関連情報