Permissions
無法執行設置了執行權限位的文件
好吧,我對 Linux 太陌生了,但我堅持了一件我應該知道的事情,而我不知道。我的文件具有以下權限位集:
-r-xr-xr-x
由
root
(但它應該無關緊要,因為-x
即使對任何使用者都是活動的)它是不可寫的,並且由於它駐留在 CDROM 上,即使是作為 cdrom 安裝的虛擬 iso 聽起來還可以,但我不能執行:它說“權限被拒絕”我想念什麼?mount本身有執行權限,應該執行,為什麼不執行呢?編輯
我解決了這個問題,但不是我的疑問,因為顯式
bash ./autorun.sh
有效 - 我root
無論如何都需要一個帳戶來了解裡面的內容,但它有效。
最可能的解釋是Patrick 的:文件系統是使用選項掛載的
noexec
,因此所有文件的執行權限位都被忽略,您不能直接執行駐留在此文件系統上的任何程序。請注意,noexec
mount 選項由user
in選項隱含/etc/fstab
(假設是出於安全原因,儘管與nodev
andnosuid
選項不同,noexec
實際上並不提供任何安全性)。如果您使用user
並希望擁有執行檔,請使用user,exec
.腳本的shebang行也可能指向一個存在但不可執行的文件——在這種情況下,錯誤消息會混淆地引用腳本,即使錯誤出在解釋器上。但是,shebang 不太可能指向錯誤的現有文件(如果“未找到”錯誤,則懸空的 shebang 會更合理)。