Windows 7のデフォルトのアクセス許可をCygwinが作成したファイルのデフォルトに一致させる


15

Windows 7 Professionalでcygwinを使用しています。

MyNewFile.javaなどの新しいファイルを作成すると、デフォルトの許可が755に設定されているように見えます。これは私が望んでいるものではありません。通常のファイルでは644にする必要があります。

これは、cygwinターミナルの外部で新しいファイルを作成するたびにアクセス許可を変更する必要があることは非常に面倒です(cygwin端末からのcpは正常に機能し、cygwinの内部から新しいファイルを作成しても既存のアクセス許可を期待どおりに維持します)。

または、gitに* .myextensionファイルを自動変更して常に特定の許可を与える方法はありますか?

そうでない場合、フォルダーの下ですべての* .myextensionファイルを再帰的にchmod 644する方法はありますか(フォルダーのアクセス許可に影響を与えません!)?


1
フォールバックソリューションの場合、これは機能しているようです:find ./ -type f -name '* .myExtension' -exec chmod 644 {} \;
ウマ

1
umaskを試してみましたか?
ヴェルナーヘンツェ

umaskは0022です。前述のとおり、cygwinターミナルを使用した作成は問題なく機能します。この問題は、Windowsエクスプローラーでファイルをコピーするとき、またはプログラミング時にIDEを介してファイルを作成するときに発生します。これは、Windows cygwinがフォルダーのWindowsアクセス許可を処理する方法と何らかの関係があるはずです
...-UmaN

4
@UmaN:あなたのコメントに対するコメント:言う理由はありませんfind ./ …find . …正常に機能します。また、find ./常にタイピングする習慣を身に付けた場合、最近では偶然にタイピングfind / -exec rm …(または同等の方法でfind /. …)を行うことになります。
スコット

1
@UmaN、ケーシー・クロケットの答えが解決策だと思う?これによってバックアップされます:cygwin.com/ml/cygwin/2011-02/msg00121.html
r_alex_hall

回答:


2

cygwinが書き込んでいるWindows内のフォルダーのセキュリティを変更して、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

「Everyone」Windowsセキュリティエントリは、lsコマンドの「user group other」リストの「other」に一致することがわかりました。「読み取りと実行」を削除し、一致するもののみを読み取りのままにします。特別なCREATOR GROUPセキュリティエントリは、「グループ」の部分と一致しました。「読み取りと実行」を無効にして読み取りのみを有効にした場合、すべてのディレクトリリストがcygwinで作成されたファイルのセキュリティと一致するようになりました。


0

ここで何を達成しようとしているのかは明確ではありませんが、cygwin gitに権限を無視させようとしている場合はこれを行います:

$ git config --local core.filemode false

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.