如何在Msys或Cygwin中将文件设置为只写或只读?

时间:2016-08-16 11:23:17

标签: cygwin msys file-attributes

函数chmod Cygwin 中实现,但与Windows中的访问权限不完全匹配。这将显示在以下更改日志中:https://cygwin.com/cygwin-ug-net/ov-new1.7.html

  

从1.7.34开始,chmod并不总是影响POSIX权限掩码   由于改进的POSIX,由stat(2)返回或由ls(1)打印   ACL处理。然而,这仍然远非完美,所以,作为一个   临时解决方法,[...]

Msys chmod的实施无效,如以下错误报告中所述:https://sourceforge.net/p/mingw/bugs/1475/

This question询问如何在Msys中为文件提供完全访问权限。

如何将文件的权限分别更改为#34;只读"和#34;只写"在Msys / Cygwin?

由于

1 个答案:

答案 0 :(得分:0)

您可以使用Windows提供的命令:caclsicacls

使用cacls

只读

$ cacls "$file_path" //E //P Everyone:N 1>/dev/null
$ cacls "$file_path" //E //G Everyone:R 1>/dev/null
使用cacls

只写

$ cacls "$file_path" //E //P Everyone:N 1>/dev/null
$ cacls "$file_path" //E //G Everyone:W 1>/dev/null

第一行删除所有权利。 第二行添加" Read"或"写"

如果您不使用Windows XP,则可以改为使用icacls

  • 只读icacls "$file_path" //grant :r Everyone:R 1>/dev/null
  • 只写icacls "$file_path" //grant :r Everyone:W 1>/dev/null

有关这些命令的更多信息: