我正在使用 Cygwin 中的 cp.exe 在 Windows 7 中复制文件。不幸的是,当我更改文件的权限时。
我试过使用:
cp --preserve=all
但这也不起作用,当我检查原始文件与副本的安全性时,副本具有不同的权限。
显然,在使用 Cygwin 复制时必须有一种方法来保留权限,但我找不到它。
我正在使用 Cygwin 中的 cp.exe 在 Windows 7 中复制文件。不幸的是,当我更改文件的权限时。
我试过使用:
cp --preserve=all
但这也不起作用,当我检查原始文件与副本的安全性时,副本具有不同的权限。
显然,在使用 Cygwin 复制时必须有一种方法来保留权限,但我找不到它。
我相信将选项 noacl 添加到 /etc/fstab 中的 /cygdrive 挂载点会满足您的要求。
$ cat fstab
# For a description of the file format, see the Users Guide
# http://cygwin.com/cygwin-ug-net/using.html#mount-table
# This is default anyway:
# none /cygdrive cygdrive binary,posix=0,user 0 0
none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
请参阅http://cygwin.com/cygwin-ug-net/using.html#mount-table和cygwin 邮件列表中的讨论。
在提出上述问题后,我对此进行了更多调查。
根据与 Cygwin 的一位开发人员的讨论,Cygwin 似乎并不关心 Windows 权限,而只是坚持使用 POSIX 权限。
据我所知,POSIX 权限与 Windows 权限是完全不同的,所以是的,支持它们很好,但最终,Cygwin 无法复制文件并维护正常的 Windows 权限。让它对我毫无用处。最好使用 Python 或 Ruby。
我很想被证明是错误的。