旧版源代码pipe理:xinetd下的CVS
我们有一个使用遗留源代码控制的团队:cvs。 我们在xinetd下运行cvs pserver(下面的configuration文件)。
审计标志
安全审计提出了一个标志:“确保CVS服务器不在根目录下运行”。
题:
我可以通过用“user = cvs”replace“user = root”来安全地locking“cvs pserver”吗? 任何有害的副作用或“陷阱”?
注意:用户“cvs”拥有“cvs root”目录下的所有文件“/ var / cvs / cvs”
我问,因为我搜遍了十年前的所有文档,所有例子都有'user = root',没有任何build议改变'user ='参数来提高安全性。
更新:我试了一下。 有效。 没问题。
谢谢
例如:cvspserverconfiguration文件
# Begin /etc/xinetd.d/cvspserver service cvspserver { port = 2401 socket_type = stream protocol = tcp wait = no user = root passenv = PATH server = /usr/bin/cvs server_args = -f --allow-root=/var/cvs/cvs pserver } # End /etc/xinetd.d/cvspserver
你应该绝对遵循他们的build议。 这是非常好的build议。
一般来说,当你这样做的时候,你需要确保守护进程有足够的权利去做它所做的事情。 在这个特定的情况下,这很可能就意味着它已经拥有的所有权。 我的build议是备份你的存储库,然后继续进行更改。
这样做的方式是,xinetd(通常以root身份运行)将删除权限,然后使用stdin和stdout执行/ usr / bin / cvs,指向xinetdpipe理的套接字。 真的没有什么。 CVS很简单,不需要任何权限,除了能够在其根目录下操作文件之外。