ええと、私はLinuxにはあまりにも環境に配慮していますが、知っておくべきことで立ち往生しています。私のファイルには、次のパーミッションビットセットがあります。
-r-xr-xr-x
はroot
によって所有されています(ただし、-x
はどのユーザーでもアクティブであるため、問題ではありません)書き込み可能ではなく、CD-ROMとしてマウントされた仮想ISOであってもCDROMに存在します。問題ないように聞こえますが、実行できません。「アクセスが拒否されました」と表示されます。マウント自体に実行権限があるので、実行する必要がありますが、なぜ実行しないのですか?
[〜#〜]編集[〜#〜]
bash ./autorun.sh
を明示すると機能するので、問題は解決しましたが、疑いはありません。とにかく、中身にはroot
アカウントが必要ですが、機能します。
最も可能性の高い説明は Patrick's :ファイルシステムはnoexec
オプションでマウントされているため、すべてのファイルの実行許可ビットは無視され、このファイルシステムにあるプログラムを直接実行することはできません。 noexec
マウントオプションは、/etc/fstab
のuser
オプションによって暗示されることに注意してください(おそらくセキュリティ上の理由から、nodev
およびnosuid
オプションとは異なり、noexec
は実際にはセキュリティを提供しません)。 user
を使用していて、実行可能ファイルが必要な場合は、user,exec
を使用します。
スクリプトの Shebang 行が、存在するが実行可能ではないファイルを指している可能性もあります。その場合、 エラーメッセージは紛らわしいことにスクリプトを参照しています エラーはインタプリタにあります。ただし、Shebangが間違った既存のファイルを指している可能性はほとんどありません(エラーが「見つからなかった」場合は、ぶら下がっているShebangの方が妥当です)。