如何在 Msys 或 Cygwin 中将文件设置为只写或只读?
How to set a file to write-only or read-only in Msys or Cygwin?
函数 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 中将文件的权限分别更改为 "read-only" 和 "write-only"?
谢谢
您可以使用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
第一行删除所有权利。
第二行添加 "Read" 或 "Write"
如果您没有使用 Windows XP,您可以使用 icacls
代替:
- 只读:
icacls "$file_path" //grant :r Everyone:R 1>/dev/null
- 只写:
icacls "$file_path" //grant :r Everyone:W 1>/dev/null
有关这些命令的更多信息:
函数 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 中将文件的权限分别更改为 "read-only" 和 "write-only"?
谢谢
您可以使用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
第一行删除所有权利。 第二行添加 "Read" 或 "Write"
如果您没有使用 Windows XP,您可以使用 icacls
代替:
- 只读:
icacls "$file_path" //grant :r Everyone:R 1>/dev/null
- 只写:
icacls "$file_path" //grant :r Everyone:W 1>/dev/null
有关这些命令的更多信息: