Windows 7 varsayılan izinlerini Cygwin tarafından oluşturulan dosya varsayılanlarıyla eşleştirme


15

Windows 7 Professional'da Cygwin kullanıyorum.

MyNewFile.java gibi yeni dosyalar oluşturduğumda varsayılan izin 755 olarak ayarlanmış görünüyor. İstediğim bu değil. Normal dosyalar için 644 olmasını istiyorum.

Bu, cygwin terminalinin dışında yeni dosyalar oluşturduğumda izinleri değiştirmek zorunda kalmak çok can sıkıcı (cygwin terminalinden cp iyi çalışıyor ve mevcut izinleri beklendiği gibi koruyor, hatta cygwin çalışmalarından yeni dosyalar oluşturuyor).

Alternatif olarak git'te * .myextension dosyalarını her zaman belirli bir izne sahip olacak şekilde otomatik olarak değiştirmenin herhangi bir yolu var mı?

Değilse, 644 tüm * .myextension dosyalarını bir klasör altında özyinelemeli olarak (klasör izinlerini etkilemeden!) Özyinelemenin bir yolu var mı?


1
Yedek çözüm için bu işe yarar: find ./ -type f -name '* .myExtension' -exec chmod 644 {} \;
UmaN

1
Umask'ı denedin mi?
Werner Henze

Belirtildiği gibi, cygwin terminali aracılığıyla oluşturmak gayet iyi çalışıyor. Sorun, Windows Gezgini'nde dosyaları kopyalarken veya programlama sırasında bir IDE aracılığıyla dosya oluştururken oluşur. Bu bir şekilde Windows cygwin sanırım klasörler üzerinde Windows izinlerini nasıl davranıyor ile ilgili bir şey olmalı ...
UmaN

4
@UmaN: Yorumunuza bir yorum: söylemek için iyi bir neden yok find ./ …; find . …gayet iyi çalışıyor ve find ./her zaman yazma alışkanlığına sahipseniz, bu günlerden biri kazayla find / -exec rm …yazacaksınız (veya eşdeğer olarak find /. …).
Scott

1
@UmaN, sanırım Casey Crockett'in cevabı çözüm olurdu, değil mi? Bununla desteklenir: cygwin.com/ml/cygwin/2011-02/msg00121.html
r_alex_hall

Yanıtlar:


2

Windows'ta cygwin'in yazdığı klasörün güvenliğini, cygwin yapılandırmanızla eşleşecek şekilde değiştirmeniz gerekir.

Örneğin, varsayılan güvenlik ile şunları elde ederim:

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

Windows klasöründe güvenliği değiştirdikten sonra şunu elde ederim:

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

Ben "Herkes" Windows güvenlik girdisinin ls komut "kullanıcı grubu diğer" listesinde "diğer" ile eşleştiğini bulduk. "Okuma ve yürütme" yi kaldırın, yalnızca bunun okunması için Okuma'yı bırakın. Özel CREATOR GROUP güvenlik girişi "grup" kısmını benim için eşleştirdi. "Oku ve çalıştır" ı devre dışı bırakıp yalnızca Oku özelliğini etkin bıraktığımda, dizin listesinin tümü şimdi cygwin tarafından oluşturulan dosyanın güvenliğiyle eşleşti.


0

Burada neyi başarmaya çalıştığınız açık değil, ancak cygwin git'inizin izinlerini yoksaymaya çalışıyorsanız bunu yapın:

$ git config - yerel core.filemode false

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.