Cocokkan izin default Windows 7 dengan file default yang dibuat Cygwin

15

Saya menggunakan cygwin di Windows 7 profesional.

Ketika saya membuat file baru seperti MyNewFile.java tampaknya mendapatkan izin default diatur ke 755. Ini bukan yang saya inginkan. Saya ingin menjadi 644 untuk file biasa.

Ini sangat menjengkelkan karena harus mengubah izin setiap kali saya membuat file baru di luar terminal cygwin (cp dari terminal cygwin berfungsi dengan baik dan hanya menjaga izin yang ada seperti yang diharapkan, bahkan membuat file baru dari dalam karya cygwin).

Atau, apakah ada cara di git untuk secara otomatis mengubah file * .myextension untuk selalu memiliki izin khusus?

Jika tidak, apakah ada cara untuk chmod 644 rekursif semua *. File ekstensi secara rekursif di bawah folder (tanpa mempengaruhi izin folder!)?

UmaN
sumber
1
Untuk solusi fallback, ini sepertinya berhasil: find ./ -type f -name '* .myExtension' -exec chmod 644 {} \;
UmaN
1
Apakah Anda sudah mencoba umask?
Werner Henze
umask adalah 0022. Seperti yang dinyatakan, membuat melalui terminal cygwin berfungsi dengan baik. Masalahnya terjadi ketika menyalin file di windows explorer atau membuat file melalui misalnya IDE saat pemrograman. Ini entah bagaimana harus ada hubungannya dengan bagaimana Windows cygwin memperlakukan izin Windows pada folder saya kira ...
UmaN
4
@UmaN: Komentar atas komentar Anda: tidak ada alasan untuk mengatakan find ./ …; find . …berfungsi dengan baik, dan jika Anda terbiasa mengetik find ./sepanjang waktu, suatu hari Anda akan mengetik find / -exec rm …(atau, setara, find /. …) secara tidak sengaja.
Scott
1
@ UmaN, saya pikir jawaban Casey Crockett akan menjadi solusinya, ya? Ini didukung oleh ini: cygwin.com/ml/cygwin/2011-02/msg00121.html
r_alex_hall

Jawaban:

2

Anda perlu mengubah keamanan folder dalam Windows yang sedang ditulis cygwin sehingga cocok dengan konfigurasi cygwin Anda.

Misalnya, dengan keamanan default, saya mendapatkan:

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

Setelah mengubah keamanan pada folder di Windows, saya mendapatkan:

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

Saya telah menemukan bahwa entri keamanan Windows "Semua Orang" cocok dengan "lainnya" dalam daftar "grup pengguna lain" dalam perintah ls. Hapus "Baca & eksekusi", hanya menyisakan Baca yang cocok. Entri keamanan CREATOR GROUP khusus cocok dengan bagian "grup" untuk saya. Ketika saya menonaktifkan "Baca & jalankan" dan hanya Baca yang diaktifkan, semua daftar direktori sekarang cocok dengan keamanan file cygwin yang dibuat.

Casey Crockett
sumber
0

Tidak jelas apa yang ingin Anda capai di sini, tetapi jika Anda mencoba membuat cygwin git Anda mengabaikan izin, lakukan ini:

$ git config --local core.filemode false

stacksharki
sumber