気づき
ファイルをコピーするバッチ処理があって、それを管理者権限で実行した後で、
コピーされたファイルを編集し保存しようとしたら、
なぜか保存できなかった(アクセス拒否)ので、アレっと思いまして…。
管理者権限でのファイルコピー
今、あるPCにログインしているユーザーXが、Administratorsグループには入っていないとします。
また、ファイル「コピー元.txt」があり、所有者が「ユーザーX」だったとします。
※所有者の確認方法
ファイルのプロパティ>セキュリティタブ>詳細設定ボタンで開く画面上に記載があります。
このファイルを別のファイル「コピー先.txt」にコピーする単純な処理が書かれたバッチファイル「filecopy.bat」を用意します。
copy コピー元.txt コピー先.txt
-
ユーザー権限で実行したときは元のファイルと所有者が変わらない
「filecopy.bat」をダブルクリックして実行すると、「コピー先.txt」が作成されます。
「コピー先.txt」の所有者を確認すると、「コピー元.txt」と一緒の「ユーザーX」になりました。 -
管理者権限で実行したときはAdministratorsグループになる
「filecopy.bat」を右クリックして「管理者権限で実行」を選択して実行すると、「コピー先.txt」が作成されます。
「コピー先.txt」の所有者を確認すると、「ユーザーX」ではなく 「PCのローカルのAdministratorsグループ」 となっていました。
つまり、「気づき」のところに書いた事象は、↑のファイルコピーの例でいうと、
「コピー先.txt」にアクセス権のない「ユーザーX」で編集し、保存しようとしたため、
保存できなかった(アクセス拒否)ようです。
あたりまえと言えばあたりまえ
管理者権限を利用して行ったことなので、あたりまえと言えばあたりまえなのですが、気づきにくいことなので注意せねば…と自戒。