Назад | Перейти на главную страницу

Не удается открыть файлы, измененные с помощью Cygwin, в Windows, подсказка в выводе ls -l

Я больше не могу открывать файлы tabs.html и tabs.js, указанные в выводе ниже (2-й и 3-й из четырех). Используя cygwin, я применил к ним патч.

Я считаю, что ключ кроется в выводе ls -l. В частности, в отличие от других файлов, в конце того, что обычно было бы информацией о разрешениях, если бы это был * nix вместо Windows / Cygwin.

В первом поле файлы я жестяная банка open имеет серию дефисов, оканчивающихся знаком плюс: '---------- +', но файлы, которые я больше не могу открывать, не имеют завершающего '+'. Что означает знак «+» и как изменить разрешения, чтобы он был восстановлен, имея в виду, что это использование Cygwin (в Windows 7), если это имеет значение.

Заранее спасибо:

----------+ 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

Плюс означает, что для файлов установлен альтернативный метод управления доступом, который не соответствует разрешениям 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.