Permissions
儘管有 +x 標誌,Shell 腳本權限仍被拒絕
這是一個奇怪的問題,它只發生在一台伺服器上(共享主機,所以我對配置和日誌的訪問權限有限),但我無法理解它。
我有一個執行某些應用程序部署的 shell 腳本。該文件有一個 +x 標誌,但我無法通過簡單地從 shell 呼叫它的名稱來執行它,我收到“拒絕訪問”錯誤。使用文件名作為參數呼叫 bash 就像一個魅力。它看起來像這樣:
[someuser@someserver:~] $cat test.sh echo "hooray!" [someuser@someserver:~] $chmod +x test.sh [someuser@someserver:~] $ls -l test.sh -rwxrwxr-x 1 someuser someuser 14 Oct 8 11:27 test.sh [someuser@someserver:~] $./test.sh -bash: ./test.sh: Permission denied [someuser@someserver:~] $bash test.sh hooray!
在開頭添加 a
#!/bin/bash
沒有幫助。我也嘗試過其他 shell(預設是 bash,在 sh 中嘗試過),同樣的事情發生了。這不是什麼大問題,但對我來說很莫名其妙。可能是什麼原因?
我認為這是因為腳本所在文件夾的“noexec”掛載選項。您可以嘗試通過此命令進行檢查
mount | grep `df -P /path/to/folder/with/script | tail -1 | cut -d ' ' -f 1`