Permissions

無法執行設置了執行權限位的文件

  • November 28, 2013

好吧,我對 Linux 太陌生了,但我堅持了一件我應該知道的事情,而我不知道。我的文件具有以下權限位集:

-r-xr-xr-x

root(但它應該無關緊要,因為-x即使對任何使用者都是活動的)它是不可寫的,並且由於它駐留在 CDROM 上,即使是作為 cdrom 安裝的虛擬 iso 聽起來還可以,但我不能執行:它說“權限被拒絕”我想念什麼?mount本身有執行權限,應該執行,為什麼不執行呢?

編輯

我解決了這個問題,但不是我的疑問,因為顯式bash ./autorun.sh 有效 - 我root無論如何都需要一個帳戶來了解裡面的內容,但它有效。

最可能的解釋是Patrick 的:文件系統是使用選項掛載的noexec,因此所有文件的執行權限位都被忽略,您不能直接執行駐留在此文件系統上的任何程序。請注意,noexecmount 選項由userin選項隱含/etc/fstab(假設是出於安全原因,儘管與nodevandnosuid選項不同,noexec實際上並不提供任何安全性)。如果您使用user並希望擁有執行檔,請使用user,exec.

腳本的shebang行也可能指向一個存在但不可執行的文件——在這種情況下,錯誤消息會混淆地引用腳本,即使錯誤出在解釋器上。但是,shebang 不太可能指向錯誤的現有文件(如果“未找到”錯誤,則懸空的 shebang 會更合理)。

引用自:https://unix.stackexchange.com/questions/102812