On 23.06.2005, at 14:36, Felix Brack wrote:
> My apache 2 server runs as user 'nobody' and group 'svn'. 'nobody' is
> member of group 'svn'.
>
> I use the following PHP script to reproduce the error:
>
> 01 <?php
> 02 $fp= popen("/usr/local/bin/svn list 'file:////home/
> svnroot/repositories/test/'", "r");
> 03 // $fp= popen("/usr/local/bin/svn list 'http://
> svn.jupiter.ltec/svn/test/'", "r");
> 04 // $fp= popen("ls -l", "r");
> 05
> 06 while (!feof($fp)) {
> 07 $line= fgets($fp);
> 08 echo "Line: ${line}<br>";
> 09 }
> 10
> 11 pclose($fp);
> 12 ?>
>
> If this script is executed by apache, I can't see any output and
> apache's error log says:
> 'svn: Can't check path '/root/.subversion': Permission denied'
> Why is something (?) accessing this path?
>
> When I open a console on the server hosting the svn repository,
> log in as 'nobody' and run the script above through the PHP
> interpreter, everything is fine.
The subversion client checks for a directory ".subversion" in the
current user's home directory; it contains configuration information.
Not sure why it's looking in root's home directory then. Maybe
"nobody" doesn't have a home directory defined, and is falling back
to root's? I might also have said that "nobody" might not have a
login shell, but the fact that you can log in as "nobody" to run the
script, as you state above, seems to indicate otherwise.
Some possibilities off the top of my head:
- Delete /root/.subversion and Subversion won't look for it anymore.
Of course, something will most likely recreate it later, when you
least expect it, and break it again.
- Give "nobody" a home directory so Subversion looks there for
its .subversion directory.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Received on Thu Jun 23 15:18:01 2005