2015-12-03 30 views
0

因此,我有一個節點模塊名爲linux-user的NodeJS應用程序,它只是提供了一個通過javascript查看/更改Linux用戶的api。在我的應用程序中,我只是讓它掃描並輸出userid和linux主機的用戶名。我想將該文件投入生產,但它需要以root身份運行JavaScript文件才能運行。但是,我不希望有人在沒有適當的權限的情況下篡改它,但仍然能夠在我調用它時不以root身份運行該應用程序的情況下運行。什麼是改變這個文件的所有權的過程?設置JavaScript文件只能寫入根

文件必須做到這一點:

  • 執行,而無需根。
  • 只能用sudo
+0

看起來像你正在製作一把槍,能夠射擊自己的腿。 – user3159253

+0

問題是:你真的*關心你的解決方案對其他Linux主機的安全性和「可轉移性」嗎?如果是,你知道你的產品的目標分配?或者,也許你需要一個「本地主機」或「本地網」黑客在這裏和現在使用,沒有任何全球計劃? – user3159253

+0

那麼,腳本(我正在製作的腳本只是檢查發送的用戶名是否在數據庫中,並且只有在它通過另一個帶有密碼和用戶名的檢查時纔會被檢查。腳本只是用於會話)無論如何都不會觸摸客戶端。有人可以篡改該特定文件的唯一方法(據我所知)是內部的。如果入侵者已經有了你的密碼和用戶名,你已經搞錯了,他/她將不需要腳本來篡改你的服務器。 – Mudkip

回答

0

可能不是最好的主意編輯腳本來給腳本root用戶權限。這可能會造成很大的損害。不過,考慮到這是你想要做什麼,你需要改變所有者根,然後在方式設置權限,以便只有所有者+寫執行權限 爲了將所有者更改爲根:

sudo chown root <filename> 

然後,你需要設置權限,使沒有人可以通過執行它:

sudo chmod 740 <filename> 

740 =所有者可以讀,寫,EXCUTE;同一組中的用戶可以閱讀;其餘的用戶不能讀,寫或執行。

+0

只有當腳本引擎以root用戶身份運行時,此腳本纔會以超級用戶身份運行。在這種情況下,最終用戶是否可以看到腳本的內容並不重要,除非它包含一些敏感信息,如密碼等。希望它不會。 – user3159253

+0

對。我不知道他想做什麼..但似乎他不想讓別人看到。在這種情況下,權限可以設置在適當的級別。:) – tanjir