You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@subversion.apache.org by Ben Collins-Sussman <su...@collab.net> on 2004/05/26 15:53:34 UTC
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
On Wed, 2004-05-26 at 10:17, Paul Oppenheim wrote:
> Hello SVN'ers,
>
> I'm having a problem with an SVN 1.0.2 repository that is living on a
> FreeBSD 5.2 server. My team's repository is administered by a user
> named 'svn' and has a group of 'Proto2004'. Two users that are also in
> group 'Proto2004' are 'poppenhe' and 'woodardj'. When user 'poppenhe'
> makes a commmit, user 'woodardj' cannot then use the repository.
>
> I've examined the repository, and the problem seems to be a permissions
> problem. The only time the permissions were manually modified was when
> the repository was created. After creation, I did a 'chown -RP
> svn:Proto2004 haquery/' to make the repository accessible to the users
> of the group. Is that incorrect? The access method is restricted to
> svn+ssh.
Have you read the last section in chapter 6, and gone down the
svn+ssh:// checklist?
http://svnbook.red-bean.com/svnbook/ch06s05.html
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by John Peacock <jp...@rowman.com>.
Paul Oppenheim wrote:
> just my 2¢ -- naturally i'm gonna be port-forwarding a svnserve -d
FYI, for a purely *nix style way of making this transparent to the users, place
the following script in a directory located in the PATH before the location of
the normal svn executable:
#!/bin/sh
ssh -f -L 3690:127.0.0.1:3690 your.server.name sleep 10 2>/dev/null
/usr/local/bin/svn $@
Name that file "svn" and you are good to go; the first line sets up a
short-lived (you can adjust that time down) tunnel, which the second line will
use that tunnel for this transaction. I redirected stderr so that if I run this
script more often than once every 10 seconds, I won't see the error that ssh
cannot create a new tunnel on the same port.
HTH
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by John Peacock <jp...@rowman.com>.
John Peacock wrote:
> I could certainly see a new option to svnserve to run in a true proxy
> mode via tunneled connections. That would work the way you expect it
> to, but would require a server daemon, so it wouldn't fit everyone's
> needs (anymore than the current implementation does). The same remote
> svn+ssh:// URL could be used, but it would be up to the site
> administrator to decide which way to go. You could even have the
> svnserve proxy for some other machine running the conventional svn
> daemon...hmmm....
Thinking this over (and re-reading the docs), I see that it won't work with the
same URL on the client, since the only think the client knows to do is use XXX
to connect to the remote server and run 'svnserve -t' to request tunneling. It
would have to be a new client-side URL entirely; svn-ssh:// anyone? ;)
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4720 Boston Way
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by John Peacock <jp...@rowman.com>.
Paul Oppenheim wrote:
> So, my suggestion to you, or whoever else is following, is that since
> svn:// works with a daemon, why not have svn+ssh:// work with a daemon
> as well? Just have it act like a port-forwarded svn:// -- that's
> probably how most people expect it to work anyway.
I agree it's confusing; I believe the origin of svn+ssh:// working the way it
does is for sites where *no* extraneous daemons are permitted. As such, it is
an extension to the way that file:// protocol functions for local users. This
way, remote users use svn+ssh:// via their existing ssh keys, running the code
as themselves. And local users use file://, again running the files as themselves.
The difference is that remote users need to run a network protocol, hence the
use of svn+ssh:// for the remote client (as opposed to having file+ssh://). It
just so happens that 'svnserve -t' functions as a sort of svn:// proxy as well
as a standalone daemon.
I could certainly see a new option to svnserve to run in a true proxy mode via
tunneled connections. That would work the way you expect it to, but would
require a server daemon, so it wouldn't fit everyone's needs (anymore than the
current implementation does). The same remote svn+ssh:// URL could be used, but
it would be up to the site administrator to decide which way to go. You could
even have the svnserve proxy for some other machine running the conventional svn
daemon...hmmm....
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4720 Boston Way
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5747
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
Hello again,
I did read the chapter, i understand that svn+ssh:// makes a remote
connection then acts like file://. But then you say that file:// breaks
permissions by default if you have multiple users, and requires a hack
to work properly. That's where my original question came in -- I
already knew how svn+ssh:// worked, only i didn't know it was broken
because file:// was broken. I was then puzzled why svn+ssh:// didn't
act like svn://, so i made that suggestion. I was then confronted that
I was confused about how svn+ssh:// worked. I'm not confused, i'm
asking why doesn't it work like the port-forwarding you described. I
imagine many people are befuddled by this same ordeal, and would have
no problem running a daemon if it means it will work by default :) But
in the end i was hoping for an answer like: "well, nobody thought that
the file:// method would bork the repository, and now we have to wait
for the fix." not "there's no magic way to make it work out of the
box."
So, my suggestion to you, or whoever else is following, is that since
svn:// works with a daemon, why not have svn+ssh:// work with a daemon
as well? Just have it act like a port-forwarded svn:// -- that's
probably how most people expect it to work anyway. Then it won't be a
problem to the migrating CVS users who think "hey, this looks like a
tunneled pserver setup." I mean, it even has svn:// in the name
already, it's a logical step on the user-side (as opposed to
file+ssh:// :P). It also takes care of that whole "single point of DB
access" problem you mentioned earlier.
just my 2¢ -- naturally i'm gonna be port-forwarding a svnserve -d or
using the umask hack until this change is made. I just wish that's what
it did in the first place, because that's what my impression was of it.
It's also the only way this will work for people right off the bat,
until the fixes Greg mentioned are made to file://.
To you, and all who helped, i didn't realize that file:// had
permission problems, thanks for helping me realize that was the
problem, not anything else crazy I was doing.
- paul
On May 26, 2004, at 5:39 PM, Ben Collins-Sussman wrote:
> Have you read the book? Specifically chapter 6?
>
> svn+ssh:// doesn't "create an ssh tunnel and connect to an svnserve
> daemon that's already running." It uses ssh as if it were the 'rsh'
> command. It launches a temporary, private 'svnserve' process running
> as
> *you*, which then opens the database. Thus it's no different than
> using
> a file:/// URL on the server box. And if your umask and group
> membership isn't just right, you risk messing up permissions for
> everyone else.
>
> That said, you *could* use ssh port-forwarding, which is what I think
> you're imagining. You could set 'svnserve -d' running as single user
> on
> a machine behind a firewall, then set up ssh to do port-forwarding.
> Just forward local port 3690 to remotehost port 3690, and connect to
> svn://localhost/. That creates a permanent ssh "tunnel" between the
> two
> boxes, over which you connect to the svnserve daemon.
>
>
>
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by Ben Collins-Sussman <su...@collab.net>.
On Wed, 2004-05-26 at 16:35, Paul Oppenheim wrote:
> regarding the last line of your message -
>
> Then why doesn't it work that way?
>
> I would have no problem keeping the svnserve daemon running as user
> 'svn' and have clients connect to it. That's actually how I expected it
> to run the first time I tried to bring it up. Here's me: "why isn't
> svnserve -t working? svnserve -d does, i don't get it"
>
> My problem is keeping an open port other than ssh. I was under the
> impression that "tunnelling" was exactly that. So we return to the last
> line of your message -- then why doesn't it work that way?
Have you read the book? Specifically chapter 6?
svn+ssh:// doesn't "create an ssh tunnel and connect to an svnserve
daemon that's already running." It uses ssh as if it were the 'rsh'
command. It launches a temporary, private 'svnserve' process running as
*you*, which then opens the database. Thus it's no different than using
a file:/// URL on the server box. And if your umask and group
membership isn't just right, you risk messing up permissions for
everyone else.
That said, you *could* use ssh port-forwarding, which is what I think
you're imagining. You could set 'svnserve -d' running as single user on
a machine behind a firewall, then set up ssh to do port-forwarding.
Just forward local port 3690 to remotehost port 3690, and connect to
svn://localhost/. That creates a permanent ssh "tunnel" between the two
boxes, over which you connect to the svnserve daemon.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
regarding the last line of your message -
Then why doesn't it work that way?
I would have no problem keeping the svnserve daemon running as user
'svn' and have clients connect to it. That's actually how I expected it
to run the first time I tried to bring it up. Here's me: "why isn't
svnserve -t working? svnserve -d does, i don't get it"
My problem is keeping an open port other than ssh. I was under the
impression that "tunnelling" was exactly that. So we return to the last
line of your message -- then why doesn't it work that way?
- paul
On May 26, 2004, at 3:51 PM, Ben Collins-Sussman wrote:
> There's no other way. svn+ssh:// isn't for the faint-hearted. There's
> no magic way to make it "work out of the box".
>
> CVS has similar problems out-of-the-box, assuming you have a bunch of
> system users all reading/writing RCS files. It's just the natural
> side-effect of a bunch of users trying to directly access database
> files.
>
> The only "clean solution" is to allow a *single* process to own and
> access the database.
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by Ben Collins-Sussman <su...@collab.net>.
On Wed, 2004-05-26 at 14:48, Paul Oppenheim wrote:
> The current permissions and access system is very confusing to those
> who are developers, not unix sysadmin gurus. As it is, svn+ssh does not
> work correctly out of the box. Why does it work the way it currently
> does (that is, designed to ignore that it needs some type of umask
> intervention), and is there change in the wind? Do I have to do the
> somewhat dodgy umask shuffle, or is there another way?
There's no other way. svn+ssh:// isn't for the faint-hearted. There's
no magic way to make it "work out of the box".
CVS has similar problems out-of-the-box, assuming you have a bunch of
system users all reading/writing RCS files. It's just the natural
side-effect of a bunch of users trying to directly access database
files.
The only "clean solution" is to allow a *single* process to own and
access the database.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by John Peacock <jp...@rowman.com>.
Paul Oppenheim wrote:
> The current permissions and access system is very confusing to those who
> are developers, not unix sysadmin gurus. As it is, svn+ssh does not work
> correctly out of the box. Why does it work the way it currently does
> (that is, designed to ignore that it needs some type of umask
> intervention), and is there change in the wind? Do I have to do the
> somewhat dodgy umask shuffle, or is there another way?
It might help you if I emphasize that svn+ssh:// is exactly equivalent to
multiple local users using file://. In other words, you still have to be very
careful about permissions, even if you initially set up the repository exactly
right the first time. All steps in the svn+ssh:// server checklist are necessary.
One thing you can consider is putting your svnserve wrapper in a different
directory located earlier in the user's effective path. Thus you don't need to
move the executable (so you can still use the ports to update), but you can
still adjust the umask correctly. You can also reconsider using svnserve in the
first place; the ra_dav access method (http://) has much better granularity for
security (because Apache already provides that), including using client
certificates for authentication.
HTH
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by John Peacock <jp...@rowman.com>.
Greg Hudson wrote:
>
> How could a daemon authenticate a local user?
>
Well, the obvious suggestion is using the framework provided by PAM, but
that's probably not a dependency we would want to consider...
John
--
John Peacock
Director of Information Research and Technology
Rowman & Littlefield Publishing Group
4501 Forbes Boulevard
Suite H
Lanham, MD 20706
301-459-3366 x.5010
fax 301-429-5748
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
i have a few things to add, plus i figured everyone would want to see
this :)
On May 26, 2004, at 10:40 PM, Greg Hudson wrote:
> [Apologies to those people in this conversation who aren't Paul, and
> aren't seeing my messages. I'm subscribed to this list via a
> different account, and I don't seem to be getting along with the list
> moderation software.]
>
>> the daemon checks to see if that user has permission (in the users
>> file? in the repository's group? in the crystal ball?), but then
>> acts on the DB as the user that started the daemon.
>
> That's authorization, not authentication.
my bad :)
they say the internet makes us dumber...
>> a daemon authenticates a local user already if you
>> svn://localhost/...
>
> Only if you give it a password database and specify a password, which
> would seem superfluous if you've already authenticated via ssh.
>
> There's no simple, portable localhost-only IPC facility in Unix which
> securely communicates the uid from one side to the other. The closest
> you can get is setuid/setgid, and going that path introduces new
> potential for security holes. So, this isn't really a good path to
> making svn+ssh work out of the box.
I agree.
however, right now my problem is that i need something to observe
groups (maybe just a list of system usernames). I know that's what the
UNIX groups system is supposed to do, but the umask problem (BDB
problem?) is making them moot, so is there needed to be a single daemon
accessing the DB, then maybe I could give it a list of local user
accounts / UIDs so that it could determine access that way.
Then (after i sent the messages) i realized yeah, ports and socket
connections are really the only IPC communication method that works,
and those ports are for everyone to talk to. I guess a firewall's the
only thing that would make this smiley. I don't think that would make
many happy :)
> In a different message, Paul wrote:
>> But in the end I was hoping for an answer like: "well, nobody
>> thought that the file:// method would bork the repository, and now
>> we have to wait for the fix." not "there's no magic way to make it
>> work out of the box."
>
> svn+ssh is really only one facet of the problem. I've seen people
> experience the problem mixing daemon-mode svnserve with viewcvs
> running under a different uid, for instance.
>
> As much as it affects many users today, the umask/permissions problem
> is not a sufficient reason to torque the entire design of svn+ssh so
> that it requires a persistent daemon to be running on the server
> machine and requires us to solve the transparent localhost
> authentication problem.
I think you're right, because of the IPC problem. That's a little out
of the svn domain :)
i guess the solution is fixing local access; many users _must_ be able
to sanely use one DB. To be honest, that's a pretty reasonable
expectation from a DB, regardless of umask.
so... i guess if anyone on here works on BDB... :)
- paul
i just wanted to start developing this game, and then....
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Greg Hudson <gh...@MIT.EDU>.
[Apologies to those people in this conversation who aren't Paul, and
aren't seeing my messages. I'm subscribed to this list via a
different account, and I don't seem to be getting along with the list
moderation software.]
> the daemon checks to see if that user has permission (in the users
> file? in the repository's group? in the crystal ball?), but then
> acts on the DB as the user that started the daemon.
That's authorization, not authentication.
> a daemon authenticates a local user already if you
> svn://localhost/...
Only if you give it a password database and specify a password, which
would seem superfluous if you've already authenticated via ssh.
There's no simple, portable localhost-only IPC facility in Unix which
securely communicates the uid from one side to the other. The closest
you can get is setuid/setgid, and going that path introduces new
potential for security holes. So, this isn't really a good path to
making svn+ssh work out of the box.
In a different message, Paul wrote:
> But in the end I was hoping for an answer like: "well, nobody
> thought that the file:// method would bork the repository, and now
> we have to wait for the fix." not "there's no magic way to make it
> work out of the box."
svn+ssh is really only one facet of the problem. I've seen people
experience the problem mixing daemon-mode svnserve with viewcvs
running under a different uid, for instance.
As much as it affects many users today, the umask/permissions problem
is not a sufficient reason to torque the entire design of svn+ssh so
that it requires a persistent daemon to be running on the server
machine and requires us to solve the transparent localhost
authentication problem.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
the daemon checks to see if that user has permission (in the users
file? in the repository's group? in the crystal ball?), but then acts
on the DB as the user that started the daemon.
a daemon authenticates a local user already if you svn://localhost/...
- paul
On May 26, 2004, at 6:12 PM, Greg Hudson wrote:
> On Wed, 2004-05-26 at 17:54, Paul Oppenheim wrote:
>> But why not use a method that already exists? The only reason i'm
>> using
>> ssh is that its security is guaranteed by a much larger user base, and
>> i trust having its port open far more than svnserve -d's port (3970?).
>> If there was an svnserve daemon that could authenticate a local user
>> (and not open a remote port!), it would be very handy to many folks.
>
> How could a daemon authenticate a local user?
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors
on SVN 1.0.2
Posted by Greg Hudson <gh...@MIT.EDU>.
On Wed, 2004-05-26 at 17:54, Paul Oppenheim wrote:
> But why not use a method that already exists? The only reason i'm using
> ssh is that its security is guaranteed by a much larger user base, and
> i trust having its port open far more than svnserve -d's port (3970?).
> If there was an svnserve daemon that could authenticate a local user
> (and not open a remote port!), it would be very handy to many folks.
How could a daemon authenticate a local user?
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
Greg,
I think your ideas are very good solutions to the problem, but why not
just have an svnserve daemon running on the remote box that waits for
local connections? I agree with all of this; i certainly don't want
permissions to bork my database, i would certainly agree to having only
one user access the database. I already setup an svn user to do just
that :)
But why not use a method that already exists? The only reason i'm using
ssh is that its security is guaranteed by a much larger user base, and
i trust having its port open far more than svnserve -d's port (3970?).
If there was an svnserve daemon that could authenticate a local user
(and not open a remote port!), it would be very handy to many folks.
just my suggestion to what appears to be a big stopping point for a few
people
- paul
On May 26, 2004, at 4:41 PM, Greg Hudson wrote:
>> The current permissions and access system is very confusing to those
>> who are developers, not unix sysadmin gurus. As it is, svn+ssh does
>> not work correctly out of the box. Why does it work the way it
>> currently does (that is, designed to ignore that it needs some type
>> of umask intervention), and is there change in the wind? Do I have
>> to do the somewhat dodgy umask shuffle, or is there another way?
>
> Lots and lots of people run into this problem, and yes, it sucks.
> There are three changes in the wind:
>
> * In svn 1.1, there will be an svnserve --tunnel-user option, which
> you can use in combination with the "command" directive in the
> authorized_keys file to set up svn+ssh so that you have one system
> account with many users, each user having a distinct key.
>
> * In svn 1.1, there will be an alternate FS back end (FSFS) which
> does not use BDB and does not have the umask requirement. (It
> still has the requirement to set the db directories g+s if you're
> using group access permissions, so things may quite not work "out
> of the box." Not certain if there's anything we can legitimately
> do anything about that. Anyway, it's a lot closer.)
>
> * Some future version of BDB is supposedly going to have a flag we
> can set so that new logfiles are chmodded after creation. We have
> no idea when that will happen, though.
>
> We have considered stopgap fixes, like adding a umask directive to
> svnserve.conf, but they are half-measures and come with a lot of
> associated pain (umask isn't portable and you can't have separate
> umasks for each repository if the server is running in threaded mode),
> so we haven't implemented them.
>
> We've also considered adding better diagnostics (checking to make sure
> you have write access to the DB files before trying to open the
> database, and giving a better error message than "your DB is corrupt,
> run recovery"), and I think approved the idea, but I believe failed to
> implement them out of lameness.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Greg Hudson <gh...@MIT.EDU>.
> The current permissions and access system is very confusing to those
> who are developers, not unix sysadmin gurus. As it is, svn+ssh does
> not work correctly out of the box. Why does it work the way it
> currently does (that is, designed to ignore that it needs some type
> of umask intervention), and is there change in the wind? Do I have
> to do the somewhat dodgy umask shuffle, or is there another way?
Lots and lots of people run into this problem, and yes, it sucks.
There are three changes in the wind:
* In svn 1.1, there will be an svnserve --tunnel-user option, which
you can use in combination with the "command" directive in the
authorized_keys file to set up svn+ssh so that you have one system
account with many users, each user having a distinct key.
* In svn 1.1, there will be an alternate FS back end (FSFS) which
does not use BDB and does not have the umask requirement. (It
still has the requirement to set the db directories g+s if you're
using group access permissions, so things may quite not work "out
of the box." Not certain if there's anything we can legitimately
do anything about that. Anyway, it's a lot closer.)
* Some future version of BDB is supposedly going to have a flag we
can set so that new logfiles are chmodded after creation. We have
no idea when that will happen, though.
We have considered stopgap fixes, like adding a umask directive to
svnserve.conf, but they are half-measures and come with a lot of
associated pain (umask isn't portable and you can't have separate
umasks for each repository if the server is running in threaded mode),
so we haven't implemented them.
We've also considered adding better diagnostics (checking to make sure
you have write access to the DB files before trying to open the
database, and giving a better error message than "your DB is corrupt,
run recovery"), and I think approved the idea, but I believe failed to
implement them out of lameness.
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org
Re: Somewhat corrupted repository: Berkeley DB Permissions errors on SVN 1.0.2
Posted by Paul Oppenheim <po...@umich.edu>.
> Have you read the last section in chapter 6, and gone down the
> svn+ssh:// checklist?
I skipped that section, because it is entitled "supporting multiple
access methods" and I only have one access method. Since you are the
author, I hope it would not be out of place to suggest renaming the
section :)
http://svnbook.red-bean.com/svnbook/ch06s03.html#svn-ch-6-sect-3.3
I have followed the first step of the checklist, but I thought the
other parts were disconcerting. Since I am using a FreeBSD install, if
I were to move the binary file for svnserve, it would disable me from
portupgrading it. As far as I know, on most UNIXes, moving the binary
will upset the upgrading process, or at least end up getting your
script replaced with the upgrade.
If you look at my previous email again, you will see that SVN creates
broken permissions on its own, out of the box. I didn't go in there and
tell berkeley DB to 'chmod g-w log.*' :-D
The current permissions and access system is very confusing to those
who are developers, not unix sysadmin gurus. As it is, svn+ssh does not
work correctly out of the box. Why does it work the way it currently
does (that is, designed to ignore that it needs some type of umask
intervention), and is there change in the wind? Do I have to do the
somewhat dodgy umask shuffle, or is there another way?
- paul
On May 26, 2004, at 11:53 AM, Ben Collins-Sussman wrote:
> On Wed, 2004-05-26 at 10:17, Paul Oppenheim wrote:
>> Hello SVN'ers,
>>
>> I'm having a problem with an SVN 1.0.2 repository that is living on a
>> FreeBSD 5.2 server. My team's repository is administered by a user
>> named 'svn' and has a group of 'Proto2004'. Two users that are also in
>> group 'Proto2004' are 'poppenhe' and 'woodardj'. When user 'poppenhe'
>> makes a commmit, user 'woodardj' cannot then use the repository.
>>
>> I've examined the repository, and the problem seems to be a
>> permissions
>> problem. The only time the permissions were manually modified was when
>> the repository was created. After creation, I did a 'chown -RP
>> svn:Proto2004 haquery/' to make the repository accessible to the users
>> of the group. Is that incorrect? The access method is restricted to
>> svn+ssh.
>
> Have you read the last section in chapter 6, and gone down the
> svn+ssh:// checklist?
>
> http://svnbook.red-bean.com/svnbook/ch06s05.html
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
> For additional commands, e-mail: users-help@subversion.tigris.org
>
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@subversion.tigris.org
For additional commands, e-mail: users-help@subversion.tigris.org