从网页和sudo以编程方式创buildsvn回购

我们希望自动创build新项目的svn回购和trac环境。 基本上,这意味着创build一个Web脚本,从用户那里获得一些信息(如env和repo名称等),然后执行

sudo -u svn svnadmin create /var/svn/<projectname> trac-admin /var/trac/sites/<projectname> initenv [... All extra params...] 

对于第二个命令,这很简单,因为它已经作为www-data用户运行,所以我不必使用sudo。 但对于第一个命令,我不得不使用sudo并将www-data添加到sudoers文件中。 我想知道这是不是一个好主意,以及如何做到这一点。 阅读这个手册让我对这个问题有了更多的疑惑。

顺便说一下,这个networking服务器只能从我们的内部networking访问。 操作系统是Ubuntu Server 10.04。

UPDATE

/var/svn文件夹所有者设置为www-data

 chown -R www-data:www-data /var/svn 

然后你可以从网页创build一个没有sudo的Subversion版本库。


如果你真的想这样做,让我们限制www-data用户在不提示input密码的情况下运行svnadmin命令。 inputvisudo并添加以下行:

 www-data ALL=(ALL) NOPASSWD:/usr/bin/svnadmin