Dopasuj domyślne uprawnienia systemu Windows 7 do domyślnych ustawień plików utworzonych przez Cygwin

15

Używam cygwin na Windows 7 Professional.

Kiedy tworzę nowe pliki, takie jak MyNewFile.java, wydaje się, że domyślnie ustawiono uprawnienia na 755. Nie tego chcę. Chcę, aby było to 644 dla zwykłych plików.

To bardzo denerwujące, że muszę zmieniać uprawnienia za każdym razem, gdy tworzę nowe pliki poza terminalem cygwin (cp z terminalu cygwin działa dobrze i po prostu zachowuje istniejące uprawnienia zgodnie z oczekiwaniami, nawet tworząc nowe pliki z wewnętrznych programów cygwin).

Alternatywnie, czy jest jakiś sposób, aby git automatycznie zmieniał pliki * .myextension, aby zawsze miały określone uprawnienia?

Jeśli nie, to czy jest jakiś sposób rekursywnie chmod 644 wszystkie pliki * .myextension rekurencyjnie w folderze (bez wpływu na uprawnienia do folderu!)?

UmaN
źródło
1
W przypadku rozwiązania zastępczego wydaje się, że działa: find ./ -type f -name '* .myExtension' -exec chmod 644 {} \;
UmaN
1
Czy próbowałeś Umask?
Werner Henze
umask to 0022. Jak już wspomniano, tworzenie przez terminal cygwin działa dobrze. Problem występuje podczas kopiowania plików w Eksploratorze Windows lub tworzenia plików za pomocą np. IDE podczas programowania. Powinno to mieć coś wspólnego z tym, jak cygwin systemu Windows traktuje uprawnienia systemu Windows do folderów, jak sądzę ...
UmaN,
4
@UmaN: Komentarz do twojego komentarza: nie ma dobrego powodu, aby to powiedzieć find ./ …; find . …działa dobrze, a jeśli przyzwyczaisz się pisać find ./cały czas, jednego z tych dni będziesz pisać find / -exec rm …(lub równoważnie find /. …) przez przypadek.
Scott
1
@UmaN, myślę, że odpowiedź Casey Crockett byłaby rozwiązaniem, tak? Jest to poparte tym: cygwin.com/ml/cygwin/2011-02/msg00121.html
r_alex_hall

Odpowiedzi:

2

Musisz zmienić zabezpieczenia folderu w systemie Windows, do którego pisze cygwin, aby pasował do twojej konfiguracji cygwin.

Na przykład z domyślnymi zabezpieczeniami otrzymuję:

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

Po zmianie zabezpieczeń folderu w systemie Windows otrzymuję:

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

Zauważyłem, że pozycja bezpieczeństwa systemu Windows „Wszyscy” odpowiada „innemu” na liście „grupa użytkowników inna” w poleceniu ls. Usuń „Odczytaj i uruchom”, pozostawiając tylko Odczyt dla tego pasującego. Specjalny wpis dotyczący bezpieczeństwa grupy CREATOR GROUP pasował do mnie w części „grupa”. Kiedy wyłączyłem opcję „Odczytaj i uruchom”, a pozostawiłem tylko opcję Odczyt, cała lista katalogów jest teraz zgodna z bezpieczeństwem pliku stworzonego przez cygwin.

Casey Crockett
źródło
0

Nie jest jasne, co próbujesz tutaj osiągnąć, ale jeśli próbujesz zmusić swojego cygwina do ignorowania uprawnień, zrób to:

$ git config --local core.filemode false

stacksharki
źródło