當腳本的權限為“x”時無法執行腳本

當腳本的權限為“x”時無法執行腳本

但是,鑑於以下情況,我在當前目錄中有一個腳本:

  1. 權限是-rwxr-xr-x
  2. #!/bin/bash該腳本在文件頂部有一個 shebang
  3. 我的外殼是/bin/bash
  4. 我可以使用執行它bash script.sh

我無法使用 執行它./script.sh。它給了我:

bash: ./script.sh: 權限被拒絕

為什麼會發生這種情況以及解決方案是什麼?

答案1

  • 不允許執行,因為該檔案位於使用“noexec”選項掛載的檔案系統上。使用findmnt -u -T .來查明是否是這種情況。如果您有root權限,mount -o remount,exec <dir>應該刪除這個選項。

  • 不允許執行蘋果策略(SELinux、SMACK,可能還有 AppArmor)。檢查系統日誌,以journalctl -n 100和開頭dmesg。繞過這個(如果您是管理員)取決於實際使用的 MAC 系統。

答案2

好吧,我找到了:它是“log2ram”

正如我所說,我在 Raspberry 4 上使用 Raspbian,為了增加 SD 生命週期,我將日誌放在 RAM 上,現在就是這樣。

===
pi@R4:~/logs $ cat /etc/log2ram.conf
[...]
PATH_DISK="/var/log;/home/pi/logs"
===

相關內容