[cvsnt] Similar problems with temp directory creation

Mann, Gary (London) gary_mann at ml.com
Wed Mar 8 13:22:43 GMT 2006


More pertinent information.

So I move my CVS temp directory to my c:\ partition (away from e:\), and
I get a different error message:
cvs [server aborted]: Repository directory e:/repositories/gda2 does not
exist: Permission denied

Interesting I think. So I then create a test repository on my d:\
partition, and hey presto, everything works.

So the issue is with my e:\ partition.

Now then here's the thing - e:\ is a local disk, but it is attached not
via SCSI or SATA, but via SAN. The server has Emulex LightPulse cards
installed which connect to the corporate SAN using iSCSI (I think). The
Win2K server sees this storage as local NTFS disk (and most definitely
not as a network drive), however there must be some differences.

Now the different attachment method does I think mean a different set of
storage drivers - could this be the problem??

If it is, then the advice regarding the use of only locally attached
disk needs to be refined further. Of course, there could just be a bug
in the Emulex drivers which affect how the SYSTEM account interacts with
them.

Has anyone else seen problems with repositories hosted on SAN?

Gary


-----Original Message-----
From: Bo Berglund [mailto:Bo.Berglund at system3r.se] 
Sent: 08 March 2006 12:17
To: Mann, Gary (London); cvsnt at cvsnt.org
Subject: RE: [cvsnt] Similar problems with temp directory creation


My problem was that I had locked down the top of the 
drive where the CVS repository is located to allaow 
only myself and domain admins. I had also set permissions 
on the repository directories themselves (down in the tree) 
depening on usergroup membership.
This worked fine with CVSNT 2.0.41a.
But when I upgraded to 2.5.03.2151 I got these errors 
and it turned out to be the fact that the top of the 
drive was inaccessible for the impersonated users. 
Once I allowed special permissions (I think it was traverse or similar)
it started working again.

Apparently the new CVSNT versions need to access the 
repository starting at the drive level instead of 
going directly to the repository directory itself. 
Don't know why, but that is my interpretation.


Best regards,

Bo Berglund


-----Original Message-----
From: cvsnt-bounces at cvsnt.org [mailto:cvsnt-bounces at cvsnt.org] On Behalf
Of Mann, Gary (London)
Sent: den 8 mars 2006 12:11
To: cvsnt at cvsnt.org
Subject: [cvsnt] Similar problems with temp directory creation

Hello everyone,

I'm running 2.5.03 Build 2151 on Windows 2000 SP4. I'm experiencing the
same kind of temp directory problem that Bo was seeing, when running
pserver from any kind of client (Solaris/Linux/Windows). The default
domain name is 'EMEA'.

The symptoms are:
cvs -z9 -w -x -d
:pserver:manngar at lonis84100.uk.ml.com:/repositories/gda2 checkout -P --
gda2-all-src (in directory C:\workspaces\testcvs)
cvs [server aborted]: cannot change permissions on temporary directory
E:\temp/cvs-serv5308: Permission denied

i.e. when checking out a module from the repository

The prior "cvs login" command works fine.

If I make the user (in this case EMEA\manngar) an local administrator on
the server, everything works OK.

I've followed the previous thread on the subject, and have checked the
permissions on the temp directory. The user in question definitely has
Full Control, and this can be verified by connecting to the drive in
question as an administrator, and using the Effective Permissions tab on
a WinXP client.

I'm really stumped by this one. If I enable server side tracing I see
the following:
10:50:26: S -> CVS Server is acting as member of domain 'EMEA'
10:50:26: S -> Client sent 'BEGIN AUTH REQUEST'
10:50:26: S -> Authentication protocol returned user(manngar)
10:50:26: S -> win32switchtouser(manngar)
10:50:26: S -> win32getpwnam(manngar)
10:50:26: S -> Authenticating server: \\ELONMDCE03
10:50:26: S -> Trying Setuid helper...
10:50:26: S -> SuidGetImpersonationToken returned 00000000
10:50:26: S -> User verified - calling ImpersonateLoggedOnUser
10:50:26: S -> wnt_chmod(E:\temp/cvs-serv5308,0700)
10:50:26: S -> unlink_file_dir(E:\temp/cvs-serv5308)

If I look in the Windows event log I see a successful security logon
event:
Successful Network Logon:
 	User Name:	manngar
 	Domain:		EMEA
 	Logon ID:		(0x0,0x543E9276)
 	Logon Type:	3
 	Logon Process:	Setuid
 	Authentication Package:	Setuid
 	Workstation Name:	- 

Finally, I tried the runas suggestion. I was able to login as an admin
on the box, runas /user:emea\manngar cmd.exe, and then create a
directory in e:\temp and use cacls to modify the permissions. This all
worked fine.

So I'm stuck. Is anyone else seeing the same problems? Am I missing
something? Exactly what does wnt_chmod() attempt to perform? I notice
from the server log that there is a call to unlink_file_dir(), but no
trace message relating to the creation of the directory - is this the
problem, or is it a logfile deficiency?

Thanks in advance for any help,

Regards,

Gary
--------------------------------------------------------

If you are not an intended recipient of this e-mail, please notify the
sender, delete it and do not read, act upon, print, disclose, copy,
retain or redistribute it. Click here for important additional terms
relating to this e-mail.     http://www.ml.com/email_terms/
--------------------------------------------------------
_______________________________________________
cvsnt mailing list
cvsnt at cvsnt.org
http://www.cvsnt.org/cgi-bin/mailman/listinfo/cvsnt



More information about the cvsnt mailing list