cygwin ls 可以在不提供文件的 DOS 路径的情况下显示 ACL 吗?

Can cygwin ls show ACLs without providing the DOS path to file?

命令

    cd c:/p4
    ls -ld  .  c:/p4  /cygdrive/c/p4

显示

    d---------+ 1 jgunter Domain Users 0 Apr 27 18:41 .
    d---------+ 1 jgunter Domain Users ? 0 Apr 27 18:41 /cygdrive/c/p4
    drwxr-xr-x  1 jgunter Domain Users ? 0 Apr 27 18:41 c:/p4

ls 显示我只想为使用 C:/ 路径指定的文件查看的权限。

我知道 getfacl,但我希望有一些 ls 选项可以告诉我我想要什么,而不需要我拼出绝对路径。

我可以这样做:

     ls -ld `cygpath -da $@`

但是当我在一个深度嵌套的文件夹中时,输出会被完整的路径名弄得乱七八糟。

DOS 路径使 cygwin 将文件系统视为没有 ACL。这意味着 ls 显示了正确的 ACL,但同一目录使用不同的选项挂载。因此 ls 没有这样的选项,您需要一个解决方法。

https://cygwin.com/cygwin-ug-net/ov-new1.7.html 状态为 1.7.2:

Handle native DOS paths always as if mounted with "posix=0,noacl"

除此之外,我认为 d---------+ 很奇怪。我在我的PC上试过了,1.7.31的cygwin版本,显示drwx------+,好一点。我在 cygwin ACL 处理中遇到过其他错误和奇怪的行为。我想对此有一些困惑和一些技巧。 chmod 777 对我来说是一个很好的解决方法。