0

我已經被賦予了使Rails應用程序的源文件不可讀但不提供密碼(root用戶密碼)的任務,因此客戶端將無法窺視應用程序(該應用程序將運行在將保存在客戶端的服務器機房中的計算機上)。以非root用戶身份運行Rails應用程序,但詢問root用戶密碼以訪問文件

我試着將所有應用程序文件夾(以及文件和子文件夾等)的所有權更改爲root,並將權限設置爲只對「其他」用戶執行......但無濟於事:我取得了非非root用戶的文件可讀性,但也不可能運行該應用程序。

運行sudo rails ...無法使用這些權限。

該機器運行的是Ubuntu 14.04。該應用程序基於Rails 4.2和Ruby v2.2.1p85,實際上運行在nginx之後,並使用獨角獸(+瘦作爲集成web服務器)...如果這種情況有所改變。機器設置爲啓動並自動登錄唯一的非root用戶(如company)而不要求輸入密碼,並立即啓動獨角獸。

我還沒有嘗試過的一件事,因爲我認爲這可能是一個操作太侵入,正在創建一個新的用戶帳戶,說client,並有機器autologin這個新的帳戶。在將company作爲應用程序文件和文件夾的所有者的同時,我將設置Ubuntu運行獨角獸作爲與登錄的不同用戶(即companyclient),並且無法在閱讀器中打開該文件。

如果可能,我該如何實現自己的目標?

回答

0

通過改變所有文件的權限,按照你第一種方法,你爲什麼不嘗試設置the set-user-ID-on-execution bit

chmod -R 4701 <app_dir> 

這將阻止「其他」用戶閱讀,並讓他們來執行,但在執行他們將獲得所有者的特權(這是set-user-ID的利益)。

P.S.我不知道這是否適合你,但它值得嘗試。

+0

可能是一個可以接受的想法,但我甚至無法啓動應用程序時,我'unicorn_rails -c config/unicorn.conf.rb'。任何將應用程序文件夾所有者設置爲不同用戶的方法('www-data','rails',無論什麼作品......),然後以該用戶身份啓動應用程序,同時仍然在引導時登錄「company」? –

相關問題