Может ли cygwin ls показывать ACL без указания пути к файлу DOS?

Команды

    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 $@`

но когда я нахожусь в глубоко вложенной папке, вывод загроможден полными путями.

1 ответ

Путь DOS заставляет cygwin рассматривать файловую систему как не имеющую ACL. Это означает, что ls показывает правильные списки ACL, но один и тот же каталог монтируется с разными параметрами. Следовательно ls нет такой опции, вам нужен обходной путь.

https://cygwin.com/cygwin-ug-net/ov-new1.7.html сообщает в 1.7.2:

Обрабатывать собственные пути DOS всегда, как если бы он был смонтирован с помощью "posix=0,noacl"

Кроме того, я думаю, что d---------+ странно. Я попробовал это на моем ПК, с версией 1.7.31 cygwin, и это показывает drwx------+, что немного лучше. У меня были другие ошибки и странное поведение при обработке ACL в Cygwin. Я думаю, что есть путаница и некоторые взломы по этому поводу. chmod 777 был хороший обходной путь в моем случае.

Другие вопросы по тегам