如何使用Debianpipe理系统服务的无特权pipe理?

在我们的实验室,我们有不同的博士生(如我)处理好几种服务。 波动很大,人们在他们的研究职责旁边做这项工作。 到目前为止,服务运行在不同的机器上,具有不同的操作系统设置,可能导​​致pipe理很快。

我们想巩固我们的服务设置。 我们的主要想法是,负责服务的人不应该再干预底层系统。 除了像NFS和Kerberos这样的核心系统之外,一个典型的服务已经可以作为非root用户运行了。 我在谈论Apache,MySQL,颠覆,与openxchange邮件,等等。 redirect特权端口也不成问题( 来源 )。

剩下的是服务的configuration及其有效载荷。 我们设想的一种情况是,每个服务都有自己的用户和主目录,可由相应的pipe理员访问。 服务的备份和回退很容易,因为服务运行所需的一切都在一个地方。

  • 有没有build立方式来创build这样的设置?
  • 是否存在一个非常独特的方法使服务find他们的文件(而不是在系统目录中),同时仍然使用相应的debian软件包?
  • 我们的想法是否有可能被忽视?
  • 你可能会声称虚拟化是我们问题的答案吗? (在我们的POV中,它不会帮助我们将系统设置与服务设置严格分开。)

谢谢你的任何build议!

我有时想到你想做什么,但最后我总是回到sudo。 我认为在Linux本地很难达到这个目标,也许有一些使用SElinux。 看这篇文章:

http://www.ibm.com/developerworks/linux/library/l-rbac-selinux/

不是很容易,但有趣。 也许更容易使用solaris和它的可能性。 将服务configuration文件移动到其他某些目录时,当您必须更新软件包时,它会变得很糟糕。 在这种情况下,最好的办法是重新包装软件并更改目标目录。

运行系统范围的apache2安装应该不会太困难,每个用户的域configuration都在自己的目录中。

对于mysql也一样,许多用户可以使用相同的mysql服务器,而不会碰撞弯头,如果需要的话,mysql可以在用户自己的目录下运行非特权。

对svn没有太大的把握,但是我认为这将是另一种可以运行非特权服务器的情况,或者是使用自定义用户configuration的系统范围安装。

邮件和交换可能是一个完全不同的问题。 不熟悉openexchange,但是像postfix这样的邮件服务器可以在用户家中configuration为chroot,运行在非特权端口上。

对于apache2和自定义的用户文件,所有你需要的是一行:

Include /home/*/httpd/ 

在你的系统范围的Apacheconfiguration。 这将允许用户有一个目录~/httpd/他们可以把他们的configuration文件为他们自己的VirtualHosts,等等。