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”? –

相关问题