我无法再打开下面输出中指示的 tabs.html 和 tabs.js 文件(四个中的第二个和第三个)。我使用 cygwin 对它们进行了修补。
我认为线索就在 ls -l 输出中。具体来说,与其他文件不同,如果这是 *nix 而不是 Windows/Cygwin,则在通常是权限信息的末尾。
在第一个字段中,我能打开的文件有一系列以加号结尾的破折号:“----------+”,但我无法再打开的文件没有以“+”结尾的破折号。“+”表示什么?我如何修改权限才能恢复它?请记住,这是在 Windows 7 上使用 Cygwin,如果这有区别的话。
提前致谢:
----------+ 1 George None 144 Jun 14 17:10 tabs.css
---------- 1 George None 3165 Jun 15 06:26 tabs.html
---------- 1 George None 4084 Jun 15 06:26 tabs.js
----------+ 1 George None 252 Jun 14 17:10 tabs-adv.css
答案1
加号表示文件具有与 POSIX 权限不对应的替代访问控制方法集。即 Windows ACL 或类似的东西。您需要使用 + 号检查文件以找出它是什么,可能在 Cygwin 之外。文件可能是由不支持 Cygwin 的二进制文件创建或修改的。
您还可以使用getfacl
、setfacl
、cacls
、xcacls
查看或设置非 POSIX 映射权限。
另一个选择是添加 POSIX 权限,以便您的 Cygwin 用户可以访问它们,虽然我不确定他们将如何与附加权限交互,但您可以尝试,chmod 640 tabs*
看看是否有帮助。
这是来自info ls
Cygwin 的,
Following the file mode bits is a single character that specifies
whether an alternate access method such as an access control list
applies to the file. When the character following the file mode
bits is a space, there is no alternate access method. When it is
a printing character, then there is such a method.
GNU `ls' uses a `.' character to indicate a file with an SELinux
security context, but no other alternate access method.
A file with any other combination of alternate access methods is
marked with a `+' character.