在啟動時執行腳本

我已嘗試尋找有關此主題的已解決貼文,如果沒找到,請見諒。我希望能在啟動時執行一個腳本(在 tailscale 上宣告路由),但不想使用 autorun.sh 方案,因為安全中心將「在啟動時執行使用者自訂程序」標記為「高風險」。謝謝!

停用或移除安全中心……這樣應該就能解決問題。

@arico
Autorun 警告標示潛在風險。如果可以的話,請分享你打算使用的指令。這有助於我們提供最佳實踐建議。

你可以在 Security Center(安全中心)自訂規則,根據特定原則管理這些警告。我們也計劃推出新的 FAQ(常見問題集),以提供更多相關細節。

謝謝!

Hi SteveKo,

autorun.sh 裡面的命令只是

#!/bin/sh
/share/CACHEDEV1_DATA/scripts/autorun.sh

而 scripts/autorun.sh 裡的命令是:

#!/bin/sh
/share/CACHEDEV1_DATA/.qpkg/Tailscale/tailscale up --advertise-routes=192.168.XX.0/24 --accept-routes

只是用 Tailscale 廣播一條路由。我知道這個警告是「正確」的,也明白這樣做有安全風險。我不是在尋找如何避免這個警告的方法,我知道怎麼做。我也不需要理由來接受這是個風險。

我只是想知道,有沒有「安全」的方法可以在 NAS 重啟時執行自訂腳本。謝謝!

@arico,關於 autorun.sh 腳本,請注意:它是在 QPKG(如 Tailscale)啟動之前執行的,所以你的指令可能會失敗。

目前,NAS 開機過程中尚未內建在所有 QPKG 啟動後執行腳本的功能,但這確實會是一個很方便的功能。

感謝 @OneCD

其實我用了 sleep(x) 來延遲指令執行。我也同意你說的,如果能有內建功能會很棒!

autorun.sh 中使用 sleep 會導致 autorun 暫停,因為它不是非同步執行的。

至少我上次檢查時是這樣。QNAP 在 QTS 5.2.0 中對 QPKG 啟動方式做了一些增強,讓其能夠非同步啟動,所以也許他們也改變了 autorun 的運作方式。

如果你這樣用沒問題,那就太好了!:nerd_face: