Может ли 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
был хороший обходной путь в моем случае.