如何为Web应用程序设置用户帐户

在Linux机器上为Web应用程序设置用户帐户的主要准则是什么?

在我的情况下,这是一个Rails应用程序,文件pipe理。

我能想到的第一件事是将访问权限限制在它所需要的目录中。 但是我应该怎么做呢? 通过用户组或通过用户对这些目录的所有权来设置权限。 我在用户权限pipe理方面的经验很less。

我还需要考虑什么? 我听说过ACL和SELinux,我需要看看其中的任何一个来保证我简单的networking应用程序的体面的安全吗?

任何关于这个和任何没有提到的build议欢迎,谢谢,最大。

我将使用Ubuntu。

你并不需要疯狂,你只是想将你的networking应用程序作为一个独特的用户来运行,而这个用户并不是任何先前存在的组的一部分。 那么只要你的系统不给不适当的写权限(或读权限)到其他用户级别帐户,你是好的。 你可以尝试chroot监狱,如果你想要更铁杆。 如果你有谷歌的“rails chroot”或者“apache chroot jail”(不知道你是否使用Apache),那么这里有各种各样的文档。

但是,如果您正在进行文件pipe理,那么您绝对必须做的事情是清理您的input(请参阅http://guides.rubyonrails.org/security.html )。 否则,人们可能会用恶意input来打击意外位置的文件。 (chroot有助于这不是一个系统目录,但仍然可以让其他用户与其他用户的用户,除非你这样做)。