在一台 Windows 10 PC 上,当我从 Cygwin bash shell 创建文件时,该文件的 Windows 安全设置已损坏。
因此,例如,如果我输入echo test > test.txt
,当我在 Windows 中打开“属性” → “安全”选项卡时,我会收到以下错误消息:“test.txt 上的权限顺序不正确,这可能会导致某些条目无效”,并且(除其他问题外)我在“组或用户名”列表框中看到“NULL SID”。当我单击“高级”按钮时,我会看到几个具有“拒绝”类型的组条目。无论我如何创建文件,似乎都会发生这种情况。我尝试过,vi
但bzip2
遇到了同样的问题。
这是本地 NTFS 硬盘。文件夹权限正确,我是 PC 上的本地管理员。
我有另一台装有 Cygwin 的 Windows 10 PC,运行相同的 bash 脚本,并且运行良好。
答案1
关于使用 Windows ACE 进行 Posix 权限的复杂映射,有很长的解释
https://cygwin.com/cygwin-ug-net/ntsec.html
几乎在最后File permissions
不幸的是,Windows 资源管理器文件属性对话框中的安全选项卡坚持要将 ACE 的顺序重新排列为规范顺序,然后您才能读取它们。谢天谢地,如果按下“取消”按钮,排序顺序将保持不变。但千万别想着按“确定”……
因此,这种行为并不是错误,它是设计使然,只是它Windows Explorer
有自己的观点,与 Windows 系统的其余部分不匹配。