0

我的任务是在不提供密码(root 用户密码)的情况下使 Rails 应用程序的源文件不可读,因此客户端将无法查看应用程序内部(它将在一台机器上运行保存在客户的服务器机房中)。

我尝试将所有应用程序文件夹(以及文件和子文件夹等)的所有权更改为 root,并将权限设置为仅对“其他”用户执行......但无济于事:我实现了非root用户的文件,但也无法运行该应用程序。

sudo rails ...使用这些权限也无法运行。

这台机器运行的是 Ubuntu 14.04。该应用程序基于 Rails 4.2 和 Ruby v2.2.1p85,实际上在 nginx 之后运行并使用 unicorn(+ 瘦作为集成 Web 服务器)......如果这有什么不同的话。机器设置为启动并自动登录唯一的非 root 用户(比如company)而不要求输入密码,并立即启动 unicorn。

client我还没有尝试过的一件事是创建一个新的用户帐户,例如,让机器自动登录这个新帐户,因为我认为它可能过于侵入性操作。在作为应用程序文件和文件夹的所有者离开company时,我会将 Ubuntu 设置为以与登录用户不同的用户身份运行 unicorn(即companyvs. client),并且不可能在阅读器中打开文件。

如果可能的话,我怎样才能实现我的目标?

4

1 回答 1

0

通过更改所有文件的权限遵循您的第一种方法,您为什么不尝试设置the set-user-ID-on-execution bit

chmod -R 4701 <app_dir>

这将阻止“其他”用户读取并允许他们执行,但在执行时他们将获得所有者的权限(这是 的利益set-user-ID)。

PS我不知道这是否对你有用,但值得一试。

于 2015-10-26T12:03:08.217 回答