如何使用Cygwin中的cp.exe并保留权限

时间:2011-12-07 19:11:27

标签: permissions cygwin acl cp

我正在使用Cygwin的cp.exe来复制Windows 7中的文件。不幸的是,当我执行文件权限更改时。

我尝试过使用:

cp --preserve=all

但这也不起作用,当我检查原始文件与副本的安全性时,副本具有不同的权限。

显然,使用Cygwin进行复制时必须有一种方法来保留权限,但我找不到它。

2 个答案:

答案 0 :(得分:9)

我相信将选项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

请参阅cygwin邮件列表中的http://cygwin.com/cygwin-ug-net/using.html#mount-tablediscussion

答案 1 :(得分:7)

在询问上述问题后,我对此进行了更多的调查。

Per this discussion与Cygwin的开发人员之一,似乎Cygwin不关心Windows权限,只是坚持使用POSIX。

据我所知,POSIX权限与Windows的权限完全不同,所以是的,它们很受支持,但最终,Cygwin无法复制文件并维护正常的Windows权限。对我没用。使用Python或Ruby要好得多。

我希望被证明是错误的。