robocopyのバックアップモードとは?管理者権限はいらないの?

robocopyを使う時に必ずと言っていいほど使用するのが,バックアップモードのオプションです。

robocopyに/Bをつけると,バックアップモードでバックアップができるようになります。

簡単に説明すると,バックアップモードでrobocopyすると,そのファイルに対してアクセス権がなかったとしても,ファイルをコピーできるようになるというオプションです。


管理者権限の意味がなくなるのでは?


そこで疑問に思うのが,バックアップモードを付けたらなんでもコピーできるのだとすれば,権限の意味がなくなってしまうのではないか,ということです。

でも大丈夫です。このrobocopyのバックアップモードを使うことができるのは,AdministratorsグループかBackup Operatorsグループに所属しているユーザーだけだからです。

Windowsでは,Administratorsグループに所属していたとしても,ファイルの権限設定によってはアクセスできないファイルがあります。

そのようなファイルに対して,ACE(アクセス制御エントリ)の内容にかかわらず,読み取り&書き込みの権限を付与するのが,バックアップモードと言えます。


もう少し技術的な詳細を


robocopyのバックアップモードとは,権限の問題を無視してファイルの読み書きを行う方法です。

それには,SeBackupPrivilege (読み取り) とSeRestorePrivilege (書き込み)の権限が用いられます。

これらの権限は,ACEでどんな権限が設定されていようとも,そのファイルの読み書きを可能にする権限です。

通常,Windowsにおいてファイルにアクセスしたりコピーするためには,まずふさわしい読み書き権限があるかどうかがチェックされますが,SeBackupPrivilegeやSeRestorePrivilegeを持っていれば,そのチェックがバイパスされます。


バックアップモードを実行できる権限を持っているかどうかを確認する


コマンドプロンプトで,whoami /privと打つと,現在のユーザーがSeBackupPrivilegeやSeRestorePrivilegeを持っているかどうかを確認できます。
whoami /privでSeBackupPrivilegeやSeRestorePrivilegeの権限を確認できる

whoami /privでSeBackupPrivilegeやSeRestorePrivilegeの権限を確認できる


基本的には,Administratorsグループには,これらの権限が与えられていますので,バックアップモードでのrobocopyを実行することが可能です。


以上,robocopyのバックアップモードに関する説明でした。さらにご質問がある方はコメント欄にどうぞ。

コメントを残す

メールアドレスが公開されることはありません。