共有フォルダの権限判定

開発機として運用しているWindowsServer上の共有フォルダのアクセス権限を勝手に削除してしまい,今までアクセスできていたフォルダにアクセスできなくなったり,全てのファイルが読み取り専用でしか開けなくなったりして,プロジェクト全体が混乱するという問題を引き起こしてしまった.WindowsServer管理者としてあってはならないことをしてしまったので,反省の意味を込めて整理しておく.ただ共有フォルダの権限判定に関しては,WindowsServer管理者なら常識として認識していないといけない話なので,特に新規性のある情報ではないことを冒頭で宣言しておく.

権限判定の仕組み

アクセス権限には「共有アクセス権限」と「NTFSアクセス権限」がある.よくある設定としては,共有アクセス権限でEveryone:フルコントロールを指定し,NTFSアクセス権限で細かく制御をしていく設計.この設計から読み取れるように,同一ユーザに対して「共有アクセス権限」と「NTFSアクセス権限」が与えられていた場合は「権限の低い方(アクセスを制限する)」が選ばれる仕組みである.ここは自分の認識で正しかった.

次に各アクセス権限内で,複数のアクセス権限が与えられている場合を考えなければいけないのだが,ここで自分の認識が間違っていたために,今回の問題が起きてしまった.具体的に言えば,NTFSアクセス権限内でフルコントロールと読み取り専用が与えられていた場合に,自分はアクセス権限同士の比較同様「権限の低い方(アクセスを制限する)」が選ばれると思っていたが,実際には,各アクセス権限内では「権限の高い方(アクセスを許可する)」が選ばれる.この例で言えば,最高権限であるフルコントロールが選ばれることになる.

アクセス権の評価
Windows NT/2000/XP/2003 アクセス権の優先順位

失敗を糧にして

数年前の担当者が構築した開発機なわけだが,そもそも共有アクセス権限でEveryone:フルコントロールを指定して,NTFSアクセス権限でもEveryone:フルコントロールを指定するってもはやそれってEveryone:フルコントロールだろっていう激しい突込みをしたくなるわけだが,それでも影響範囲を考えず,勝手にアクセス権限を変えてしまった点は自分の失敗で,管理者として恥ずべき点だと思う.今回の失敗でアクセス権限に関してはちゃんと調べて理解を正しく補正できたので,反省し,今後に活かしたい.