windows 2003 server 使用cwrsync同步文件夹的权限问题

简介:

windows 2003 server 使用cwrsync 3 同步文件夹后,权限和安全属性不能同步,直接导致无法使用,查阅资料后发现必须在运行命令前使用SET CYGWIN=nontsec参数

将以下内容保存成.bat批处理文件后即可运行。

@ECHO OFF
SET CYGWIN=nontsec
"c:\Program Files\cwRsync\bin\rsync" -avrr /cygdrive/c/srcdir/ /cygdrive/d/dstdir/

对 于cwrsync 3.0.7以后及cwrsync 4.0以后的版本,由于cygwin已经从1.5升级到1.7,而且cygwin1.7的mount点从注册表改成了/etc/fstab ,cwrsync 4.0.4版本使用CYGWIN=nontsec参数无效,仍然存在目录权限问题,解决方法如下,在rsync.exe的上一级目录新建一个etc目录, 然后在etc目录用写字板新建一个fstab文件,不带扩展名,文件内容为

#edit by gaodi 
#none /cygdrive cygdrive ntfs override,binary,noacl 0 0
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
C:/Program\040Files/cwrsync / ntfs override,binary,noacl 0 0
C:/Program\040Files/cwrsync/bin /usr/bin ntfs override,binary,noacl 0 0
#C:/Program\040Files/cwrsync/etc/terminfo /usr/share/terminfo ntfs override,binary,noacl 0 0

保存退出。

重新运行rsync.exe 执行同步后目录就不会出现"权限顺序不正确"的提示了。

(主要是第三行起作用,如果只加这一行一定要在最后加一个回车符)

附fstab文件的使用方法:

The Cygwin Mount Table

The /etc/fstab file is used to map Win32 drives and network shares into Cygwin's internal POSIX directory tree. This is a similar concept to the typical UNIX fstab file. The mount points stored in /etc/fstab are globally set for all users. Sometimes there's a requirement to have user specific mount points. The Cygwin DLL supports user specific fstab files. These are stored in the # #directory /etc/fstab.d and the name of the file is the Cygwin username of the user, as it's stored in the /etc/passwd file. The content of the user specifc file is identical to the system-wide fstab file.

The file fstab contains descriptive information about the various file systems. fstab is only read by programs, and not written; it is the duty of the system administrator to properly create and maintain this file. Each filesystem is described on a separate line; fields on each line are separated by tabs or spaces. Lines starting with '#' are comments.

The first field describes the block special device or remote filesystem to be mounted. On Cygwin, this is the native Windows path which the mount point links in. As path separator you MUST use a slash. Usage of a backslash might lead to unexpected results. UNC paths (using slashes, not backslashes) are allowed. If the path contains spaces these can be escaped as '\040'.

The second field describes the mount point for the filesystem. If the name of the mount point contains spaces these can be escaped as '\040'.

The third field describes the type of the filesystem. Cygwin supports any string here, since the file system type is usually not evaluated. The notable exception is the file system type cygdrive. This type is used to set the cygdrive prefix.

The fourth field describes the mount options associated with the filesystem. It is formatted as a comma separated list of options. It contains at least the type of mount (binary or text) plus any additional options appropriate to the filesystem type. Recognized options are binary, text, nouser, user, exec, notexec, cygexec, nosuid, posix=[0|1]. The meaning of the options is as follows.

acl        - Cygwin uses the filesystem's access control lists (ACLs) to
               implement real POSIX permissions (default). This flag only
        affects filesystems supporting ACLs (NTFS) and is ignored
        otherwise.
auto       - Ignored.
binary     - Files default to binary mode (default).
cygexec    - Treat all files below mount point as cygwin executables.
exec       - Treat all files below mount point as executable.
noacl      - Cygwin ignores filesystem ACLs and only fakes a subset of
        permission bits based on the DOS readonly attribute. This
        behaviour is the default on FAT and FAT32. The flag is
        ignored on NFS filesystems.
nosuid     - No suid files are allowed (currently unimplemented).
notexec    - Treat all files below mount point as not executable.
nouser     - Mount is a system-wide mount.
override - Force the override of an immutable mount point (currently "/").
posix=0    - Switch off case sensitivity for paths under this mount point.
posix=1    - Switch on case sensitivity for paths under this mount point
        (default).
text       - Files default to CRLF text mode line endings.
user       - Mount is a user mount.

While normally the execute permission bits are used to evaluate executability, this is not possible on filesystems which don't support permissions at all (like FAT/FAT32), or if ACLs are ignored on filesystems supporting them (see the aforementioned acl mount option). In these cases, the following heuristic is used to evaluate if a file is executable: Files ending in certain extensions (.exe, .com, .bat, .btm, .cmd) are assumed to be executable. Files whose first two characters begin with '#!' are also considered to be executable. The exec option is used to instruct Cygwin that the mounted file is "executable". If the exec option is used with a directory then all files in the directory are executable. This option allows other files to be marked as executable and avoids the overhead of opening each file to check for a '#!'. The cygexec option is very similar to exec, but also prevents Cygwin from setting up commands and environment variables for a normal Windows program, adding another small performance gain. The opposite of these options is the notexec option, which means that no files should be marked as executable under that mount point.

A correct root directory is quite essential to the operation of Cygwin. A default root directory is evaluated at startup so a fstab entry for the root directory is not necessary. If it's wrong, nothing will work as expected. Therefore, the root directory evaluated by Cygwin itself is treated as an immutable mount point and can't be overridden in /etc/fstab... unless you think you really know what you're doing. In this case, use the override flag in the options field in the /etc/fstab file. Since this is a dangerous thing to do, do so at your own risk.

/usr/bin and /usr/lib are by default also automatic mount points generated by the Cygwin DLL similar to the way the root directory is evaluated. /usr/bin points to the directory the Cygwin DLL is installed in, /usr/lib is supposed to point to the /lib directory. This choice is safe and usually shouldn't be changed. An fstab entry for them is not required.

nouser mount points are not overridable by a later call to mount. Mount points given in /etc/fstab are by default nouser mount points, unless you specify the option user. This allows the administrator to set certain paths so that they are not overridable by users. In contrast, all mount points in the user specific fstab file are user mount points.

The fifth and sixth field are ignored. They are so far only specified to keep a Linux-like fstab file layout.

Note that you don't have to specify an fstab entry for the root dir, unless you want to have the root dir pointing to somewhere entirely different (hopefully you know what you're doing), or if you want to mount the root dir with special options (for instance, as text mount).

Example entries:

Just a normal mount point:

c:/foo /bar fat32 binary 0 0
A mount point for a textmode mount with case sensitivity switched off:

C:/foo /bar/baz ntfs text,posix=0 0 0
A mount point for a Windows directory with spaces in it:

C:/Documents\040and\040Settings /docs ext3 binary 0 0
A mount point for a remote directory without ACL support:

//server/share/subdir /srv/subdir smbfs binary,noacl 0 0
This is just a comment:

# This is just a comment
Set the cygdrive prefix to /mnt:

none /mnt cygdrive binary 0 0
Whenever Cygwin generates a Win32 path from a POSIX one, it uses the longest matching prefix in the mount table. Thus, if C: is mounted as /c and also as /, then Cygwin would translate C:/foo/bar to /c/foo/bar. This translation is normally only used when trying to derive the POSIX equivalent current directory. Otherwise, the handling of MS-DOS filenames bypasses the mount table.

If you want to see the current set of mount points valid in your session, you can invoking the Cygwin tool mount without arguments:

Example 3.1. Displaying the current set of mount points

bash$ mount
f:/cygwin/bin on /usr/bin type system (binary,auto)
f:/cygwin/lib on /usr/lib type system (binary,auto)
f:/cygwin on / type system (binary,auto)
e:/src on /usr/src type system (binary)
c: on /cygdrive/c type user (binary,posix=0,user,noumount,auto)
e: on /cygdrive/e type user (binary,posix=0,user,noumount,auto)


You can also use the mount command to add new mount points, and the umount to delete them. However, since they are only noted in memory, these mount points will disappear as soon as your last Cygwin process ends. See the section called 搈ount?and the section called 搖mount?for more information.

Note
When you upgrade an existing older Cygwin installation to Cygwin 1.7, your old system mount points (stored in the HKEY_LOCAL_MACHINE branch of your registry) are read by a script and the /etc/fstab file is generated from these entries. Note that entries for /, /usr/bin, and /usr/lib are never generated.

The old user mount points in your HKEY_CURRENT_USER branch of the registry are not used to generate /etc/fstab. If you want to create a user specific /etc/fstab.d/${USER} file from your old entries, there's a script available which does exactly that for you, bin/copy-user-registry-fstab. Just start the script and it will create your user specific fstab file. Stop all your Cygwin processes and restart them, and you can simply use your old user mount points as before.



本文转自gaodi2002 51CTO博客,原文链接:http://blog.51cto.com/gaodi2002/1618144
相关文章
|
28天前
|
网络安全 Windows
Windows server 2012R2系统安装远程桌面服务后无法多用户同时登录是什么原因?
【11月更文挑战第15天】本文介绍了在Windows Server 2012 R2中遇到的多用户无法同时登录远程桌面的问题及其解决方法,包括许可模式限制、组策略配置问题、远程桌面服务配置错误以及网络和防火墙问题四个方面的原因分析及对应的解决方案。
|
1月前
|
监控 安全 网络安全
使用EventLog Analyzer日志分析工具监测 Windows Server 安全威胁
Windows服务器面临多重威胁,包括勒索软件、DoS攻击、内部威胁、恶意软件感染、网络钓鱼、暴力破解、漏洞利用、Web应用攻击及配置错误等。这些威胁严重威胁服务器安全与业务连续性。EventLog Analyzer通过日志管理和威胁分析,有效检测并应对上述威胁,提升服务器安全性,确保服务稳定运行。
|
1月前
|
监控 安全 网络安全
Windows Server管理:配置与管理技巧
Windows Server管理:配置与管理技巧
78 3
|
1月前
|
存储 安全 网络安全
Windows Server 本地安全策略
由于广泛使用及历史上存在的漏洞,Windows服务器成为黑客和恶意行为者的主要攻击目标。这些系统通常存储敏感数据并支持关键服务,因此组织需优先缓解风险,保障业务的完整性和连续性。常见的威胁包括勒索软件、拒绝服务攻击、内部威胁、恶意软件感染等。本地安全策略是Windows操作系统中用于管理计算机本地安全性设置的工具,主要包括用户账户策略、安全选项、安全设置等。实施强大的安全措施,如定期补丁更新、网络分段、入侵检测系统、数据加密等,对于加固Windows服务器至关重要。
|
2月前
|
监控 Ubuntu Linux
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
这篇文章介绍了如何在Ubuntu和Windows系统中通过设置相同的时区并使用ntp服务来解决时间同步问题。
77 4
视频监控笔记(五):Ubuntu和windows时区同步问题-your clock is behind
|
2月前
|
数据安全/隐私保护 Windows
安装 Windows Server 2019
安装 Windows Server 2019
|
2月前
|
网络协议 Windows
Windows Server 2019 DHCP服务器搭建
Windows Server 2019 DHCP服务器搭建
|
2月前
|
网络协议 定位技术 Windows
Windows Server 2019 DNS服务器搭建
Windows Server 2019 DNS服务器搭建
|
2月前
|
安全 网络协议 数据安全/隐私保护
Windows Server 2019 搭建并加入域
Windows Server 2019 搭建并加入域
|
2月前
|
网络协议 文件存储 Windows
Windows Server 2019 FTP服务器搭建
Windows Server 2019 FTP服务器搭建
下一篇
DataWorks