我被赋予了使Rails应用程序的源文件不可读而不提供密码(root用户的密码)的任务,因此客户端将无法窥视应用程序(将在机器将保存在客户机的服务器室内。
我尝试将所有应用程序文件夹(以及文件和子文件夹等)的所有权更改为root,并为“其他”用户设置仅执行权限......但无济于事:我实现了非非root用户的文件可读性,但也无法运行该应用程序。
使用这些权限运行sudo rails ...
无效。
该机器正在运行Ubuntu 14.04。该应用程序基于Rails 4.2和Ruby v2.2.1p85,实际上在nginx后面运行并使用unicorn(+ thin作为集成的Web服务器)...如果这有所作为。机器设置为启动并自动登录唯一的非root用户(比如company
)而不需要密码,并立即启动独角兽。
我仍然没有尝试过一件事,因为我认为它可能过于侵入某项操作,正在创建一个新的用户帐户,比如client
,让机器自动登录这个新帐户。在将company
作为应用文件和文件夹的所有者时,我会将Ubuntu设置为以与登录的用户不同的用户身份运行独角兽(即company
与client
)并且无法在阅读器中打开文件。
如果可能的话,我怎样才能达到目标?
答案 0 :(得分:0)
通过更改所有文件的权限来实现第一种方法后,为什么不尝试设置the set-user-ID-on-execution bit
:
chmod -R 4701 <app_dir>
这会阻止&#34;其他&#34;用户从阅读中将允许他们执行,但在执行时他们将获得所有者的特权(这是set-user-ID
的利益。)
P.S。我不知道这对你有用,但值得尝试。