ファイルやディレクトリを作成・編集すると、権限が変わってしまう
いつの頃かから、Eclipseなどから作成したファイル/ディレクトリの権限が060になっていたり、
gitで操作したファイルの権限が変わってしまうなど、よくわからないことが起こっていた。。
数ファイルだけだったので、毎回chmodで対応していたが、.gitディレクトリ配下まで汚染され、
のっぴきならない感じになったので、真面目に対応してみたときの備忘録
ACLを無効にして/cygdriveをマウントするが、だめだった。。
デフォルトでは、WindowsのACL(Access Control List)が有効になっているので、 Windowsのアクセス権限を踏まえた設定になっている。
ACLを無効にすると良いとあったので、/etc/fstabを編集して、試してみた。
- none /cygdrive cygdrive binary,posix=0,user 0 0 + none /cygdrive cygdrive binary,posix=0,user,noacl 0 0
が、ACLを無効にするとchmodが使えなくなる。。ので、やりたいことと違った。。
ACLをgetfaclで確認して、setfaclで設定する
ACLが悪さをしている感じだったので、うまくいくファイル/フォルダの設定を確認してみた。
$ getfacl <dir_name> user::rwx group::r-x group:Authenticated Users:rwx group:SYSTEM:rwx group:Administrators:rwx group:Users:r-x mask:rwx other:r-x default:user::rwx default:group::r-x default:group:Authenticated Users:rwx default:group:SYSTEM:rwx default:group:Administrators:rwx default:group:Users:r-x default:mask:rwx default:other:r-x $ getfacl <file_name> user::rwx group::r-x group:Authenticated Users:rwx group:SYSTEM:rwx group:Administrators:rwx group:Users:r-x mask:rwx other:r-x
うまくいかない方を見てみると、なんか設定されていない項目などがたくさん。。
$ getfacl <dir_name> ・・・ mask:--- other:--- ・・・ default:mask:--- default:other:--- ・・・
こいつが原因か。。。
うまくいく設定を取り込んでみるとうまくいった!!
$ getfacl <うまくいくDir> | setfacl -f - <うまくいかないDir> $ getfacl <うまくいくFile> | setfacl -f - <うまくいかないFile>
いつのまに変更されてしまったのかは不明ですが、ACLの設定を見直すとうまくいくのか。。。
以上!!