函数chmod
在Cygwin中实现,但与Windows中的访问权限不完全匹配。这出现在以下更改日志中:https://cygwin.com/cygwin-ug-net/ov-new1.7.html
Since 1.7.34, chmod does not always affect the POSIX permission mask as returned by stat(2) or printed by ls(1), due to the improved POSIX ACL handling. However, that's still far from perfect, so, as a temporary workaround, [...]
Msys 中 chmod
的实现无法正常工作,如以下错误报告中所述:https://sourceforge.net/p/mingw/bugs/1475/
This question询问如何提供对 Msys 中文件的完全访问权限。
如何在 Msys/Cygwin 中将文件的权限分别更改为“只读”和“只写”?
谢谢
最佳答案
可以使用windows提供的命令:cacls
和icacls
只读,带有 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
第一行删除所有权限。 第二行添加“读取”或“写入”
如果您不使用 Windows XP,则可以使用 icacls
代替:
- 只读:
icacls "$file_path"//grant :rEveryone:R 1>/dev/null
- 只写:
icacls "$file_path"//grant :rEveryone:W 1>/dev/null
有关这些命令的更多信息:
关于cygwin - 如何在 Msys 或 Cygwin 中将文件设置为只写或只读?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38973612/