簡體   English   中英

CentOS8/RHEL8 nodejs 4.9.1以非root用戶身份運行時“不允許操作”

[英]CentOS8/RHEL8 nodejs 4.9.1 "operation not permitted" when running as non-root user

我留下了一個古老的 NodeJS 代碼,它編寫並與模塊和 NodeJS v4.9.1 兼容。 它托管在 RHEL6 上並且運行良好。 現在我被要求將代碼移動到 RHEL8 機器上。 嘗試使用 NodeJS 10 和 12 啟動應用程序時出現大量錯誤。我下載了 NodeJS 4.9.1 的 tar 文件並解壓縮並嘗試啟動應用程序,它工作正常。 但這是作為根。 當我使用以下行服務文件創建 systemd 服務並嘗試啟動它時,出現“ -bash operation not allowed ”錯誤

[Unit]
Description=Node App
After=network.target

[Service]
Type=simple
User=node-user
ExecStart=/opt/nodeJS/bin/node /opt/nodeapp/server.js 1> /opt/nodeapp/log/node.stdout.log 2> /opt/nodeapp/log/node.stderr.log

[Install]
WantedBy=multi-user.target

當我切換到 node-user 並嘗試運行基本的node -v命令時,我仍然得到同樣的錯誤。 我什至在 nodejs 目錄上嘗試了 777 權限。

一切都以root身份正常工作。

任何建議,非常感謝。

今天遇到了這個問題的類似版本(visual studio code remote-ssh extension failed, -bash operation not permitted allowed error when running the node binary in the .vscode-server folder)

我的 Centos8 虛擬機也進行了強化,在本例中是 DISA STIG。 在對 STIG 設置進行了一番挖掘之后,我發現fapolicyd服務(應用程序白名單)是罪魁禍首。

您可以通過卸載 fapolicyd 並查看節點是否在此之后工作來檢查您是否屬於這種情況:

sudo dnf remove fapolicyd

如果可行,那么您可以將其卸載,也可以重新安裝並為其添加例外:

sudo fapolicyd-cli --file add /path/to/node/binary --trust-file node
sudo fapolicyd-cli --update

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM