Збіжіть дозволи Windows 7 за замовчуванням із типовими файлами створених Cygwin


15

Я використовую cygwin у Windows 7 professional.

Коли я створюю нові файли, такі як MyNewFile.java, видається, що дозвіл за замовчуванням встановлено на 755. Це не те, що я хочу. Я хочу, щоб це було 644 для звичайних файлів.

Це дуже дратує, коли доводиться змінювати дозволи кожен раз, коли я створюю нові файли за межами терміналу cygwin (cp від cygwin-терміналу працює нормально і просто зберігає наявні дозволи, як очікувалося, навіть створюючи нові файли всередині cygwin працює).

Крім того, чи є в Git спосіб автоматично змінювати * .myextension файли, щоб завжди мати певний дозвіл?

Якщо ні, чи є спосіб рекурсивно chmod 644 усіх * .myextension файлів рекурсивно під папку (не впливаючи на дозволи папок!)?


1
Для резервного рішення це, здається, працює: find ./ -type f -name '* .myExtension' -exec chmod 644 {} \;
UmaN

1
Ви спробували умаска?
Вернер Гензе

umask 0022. Як зазначалося, створення через термінал cygwin працює чудово. Проблема виникає під час копіювання файлів у Windows Explorer або створення файлів, наприклад, IDE при програмуванні. Якимось чином це має щось
спільне

4
@UmaN: коментар до вашого коментаря: немає вагомих причин говорити find ./ …; find . …працює просто чудово, і якщо ви звикли find ./весь час друкувати , одного дня ви збираєтесь набрати find / -exec rm …(або, що еквівалентно find /. …) випадково.
Скотт

1
@UmaN, я думаю, що відповідь Кейсі Крокетта буде рішенням, так? Це підкріплено цим: cygwin.com/ml/cygwin/2011-02/msg00121.html
r_alex_hall

Відповіді:


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. Видаліть "Прочитати та виконати", залишивши для цього лише Read. Спеціальний запис безпеки CREATOR GROUP відповідав мені "груповою" частиною. Коли я відключив функцію "Прочитати і виконати" і залишив лише функцію "Читання", весь перелік каталогів тепер відповідав безпеці створеного файлом cygwin.


0

Незрозуміло, чого ви намагаєтеся досягти тут, але якщо ви намагаєтесь змусити ваші cygwin git ігнорувати дозволи, зробіть це:

$ git config --local core.filemode false

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.