新千葉 ガーベージ・コレクション

FPGA マガジンやインターフェースで書けなかったこと等をちょぼちょぼ書いてます。@ryos36

ついでに cygwin と noACL

もう一つ書くと、noacl とするということは MS-DOS のように細かい ACL 制御をしないという選択になることに注意。Windows の複雑な(覚えたくない)ACL の世界を制御しようと思ったら、なんでもかんでも noacl にしてはいけない。特にサーバー関連では。
本来なら cygwin から Windows の世界にコピーしたら、ACL ありだと、自分以外はみれなくなっている。
例えばこんな感じなっているわけだ。

image1280x400_rgba.raw NULL SID:(DENY)(Rc,S,X,DC)
                       <マシン名>\<ユーザ名>:(R,W,D,WDAC,WO)
                       BUILTIN\Administrators:(DENY)(S,X)
                       NT AUTHORITY\SYSTEM:(DENY)(S,X)
                       <マシン名>\なし:(R)
                       BUILTIN\Administrators:(RX,W)
                       NT AUTHORITY\SYSTEM:(RX,W)
                       Everyone:(R)

NULL SID と自分と"なし"(これは cygwin の group にある"なし"だった)が、くっつくわけだ。
見方が今一つ分からないが、挙動を見ると、NULL SID(Windows の標準で設定されているグループ員なしのグループ)で実行などを DENY(拒否?) しているように見える。(でも cmd から実行できてしまった、、、)
順序が有効だと思ったのだが、、、これは Rc,S,X,DC だけが有効という意味なのか?
その後自分自身は R W D など(他は何だかわからない)が許されている。
この状態で、アプリケーションからファイルを読もうとすると、読めなかったりするわけだ。
だから、サーバ関連ではちゃんと ACL つきでコピーして、ひとつひとつ丁寧に設定して必要がある。手抜きしちゃだめよ。