web-dev-qa-db-ja.com

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

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

  1. 権限は-rwxr-xr-xです
  2. スクリプトには、ファイルの先頭にシバン#!/bin/bashがあります
  3. 私のシェルは/bin/bashです
  4. bash script.shを使用して実行できます

./script.shでは実行できません。それは私に与えます:

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

なぜこれが起こっているのですか?解決策は何ですか?

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

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

20
user1686