15

Я использую Cygwin на Windows 7 Professional.

Когда я создаю новые файлы, такие как MyNewFile.java, кажется, что по умолчанию установлено разрешение 755. Это не то, что я хочу. Я хочу, чтобы это было 644 для обычных файлов.

Очень раздражает необходимость менять разрешения каждый раз, когда я создаю новые файлы вне терминала cygwin (cp из терминала cygwin работает нормально и просто сохраняет существующие разрешения, как и ожидалось, даже создание новых файлов изнутри cygwin работает).

В качестве альтернативы, есть ли способ в git автоматически изменять файлы * .myextension, чтобы всегда иметь определенное разрешение?

Если нет, есть ли способ рекурсивно выполнить chmod 644 все файлы * .myextension в папке (без ущерба для прав доступа к папке!)?

2 ответа2

2

Вам нужно изменить безопасность папки в Windows, в которую пишет cygwin, чтобы она соответствовала вашей конфигурации cygwin.

Например, с безопасностью по умолчанию я получаю:

-rwxr-xr-x 1 400 401    0 Jul 29 14:48 New Text Document.txt

После изменения безопасности для папки в Windows, я получаю:

-rwxr--r-- 1 400 401    0 Jul 29 14:54 New Text Document 2.txt

Я обнаружил, что запись безопасности Windows "Все" соответствует значению "прочее" в списке "другие группы пользователей" в команде ls. Удалите "Чтение и выполнение", оставив только "Чтение", чтобы соответствовать. Специальная запись безопасности CREATOR GROUP соответствовала "групповой" части для меня. Когда я отключил "Чтение и выполнение" и оставил только "Чтение включенным", весь список каталогов теперь соответствовал безопасности созданного cygwin-файла.

0

Непонятно, чего вы здесь добиваетесь, но если вы пытаетесь заставить свой cygwin git игнорировать разрешения, сделайте следующее:

$ git config --local core.filemode false

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .