Windows権限の一括登録(cacls/icacls)
新しいWindowsServerのフォルダにアクセス権を一括登録したい。
caclsコマンドを使う。
C:\>cacls C:\test /t /e /c /g user:r
オプションの意味は次の通り。
/t:フォルダ以下に適用
/e:アクセス権の追記(これがないと既存アクセス権が消えてしまう!)
/c:エラー無視
/g:userにアクセス権を付与
r:読み取り
その他にもあります。
Q2-16 アクセス権を一括で設定する方法はありますか。
http://www.edu-ctr.pref.okayama.jp/jyose/knowledge/lanqa/w2k/sec2/Q2-16.htm
複数行でバッチ処理もできます。
caclsコマンドをバッチ・ファイルで利用する − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/731caclsy/caclsy.html
単独で使えばフォルダのアクセス権リストの抽出が可能
C:\>cacls > cacls.txt
これでいける!と思ったのもつかの間、「読み取り」ではなく「読み取りと実行」が付与される。
Windows Server World Online - アクセス権完全掌握マニュアルPart5
http://www.windows-world.jp/special/-/25886-4.html
Webサーバなので読み取りだけに絞りたいんだけど・・・。
調べるとWindowsServer2003(とVista)にはicalsコマンドが実装されていた。
その他にあまりにも情報がなさすぎて泣く。
試行錯誤の末、下記で成功。
C:\>icacls C:\test /grant user:(OI)(CI)R
(OI)(CI)がポイント。
そのディレクトリ自身とそれ以下のディレクトリ、ファイルに適用。
caclsコマンドの出力の見方 − @IT
http://www.atmarkit.co.jp/fwin2k/win2ktips/704cacls/cacls.html
あとは手持ちのユーザーリストとフォルダを関係付けたCSVファイルを作成するだけだ・・・。
3月8日
ブログにまとめた
Windowsサーバでアカウント・権限の一括登録
http://umakoya.com/blog/log/eid458.html