If this is not the correct place to post this I apologize. I am having a problem with rsync not setting the correct permissions on the rsync'd files. I have rsync 2.6.3 running on a Windows 2003 server using cygwin. I rsync the fedora core 2 updates to my server for internal use. The problem is after the rsync, the header.info file is no longer accessible to anyone and the other rsync'd files don't have the correct permissions. Somehow the correct permissions are removed and the following are applied: For the header.info file: Administrators (local administrators group) Domain Users Everyone They all have special permissions: Write Attributes Write Extended Attributes Delete Read Permissions Change Permissions Take Ownership You will notice that read is nowhere listed. The correct permissions should be: Traverse Folder / Execute File List Folder / Read Data Read Attributes Read Extended Attributes Read Permissions For the other rsync'd files: Administrators (local administrators group) Domain Users Everyone Domain Users and Everyone have only the read attribute set, the read & execute attribute is missing. The administrators group has the read and write attribute but not modifiy. I think the header.info is deleted during the rsync and the new file is not being given the proper permissions. Any file created in the headers directory will inherit the correct permissions from the system, but rsync does not appear to listen. I do not know where the user groups or the permissions are coming from. Is the problem with rsync or with cygwin? I use the following command line to begin the rsync: d:\cygwin\bin\rsync -v -r -t --exclude='SRPMS/' --exclude='*.src.*' --exclude='debug/' mirrors.kernel.org::fedora/core/updates/2/i386/ d:\www\fedora2up>d:\rsyncerr2.log Thanks, Jason
On Mon, Oct 18, 2004 at 02:46:49PM -0500, Jason Dravet wrote:> I have rsync 2.6.3 running on a Windows 2003 server using cygwin.Any MS Windows users out there that can field this question? ..wayne..
The permission problem may be related to the setting of the CYGWIN environment variable. This variable may contain several options, but the one you should take a look at is ntsec/nontsec. If CYGWIN=ntsec, then the cygwin DLL tries to emulate POSIX permissions using NT ACLs. It works too good, or not very, depending on how you look at it. If CYGWIN=nontsec, then the cygwin DLL doesn't do anything when a CYGWIN process tries to set protections. This lets the native Windows protections operate as you would expect. Between my Cygwin boxes, I make sure that CYGWIN=nontsec for rsync. More info here: http://cygwin.com/cygwin-ug-net/ntsec.html