【Windows】管理者権限があるのに、ファイルを変更できない?

Windows全般
スポンサーリンク

Windowsにおいて、管理者権限(Administrators)があるユーザーでサインインしているのに、あるファイルを変更しようとすると「アクセス権が無い」と言われた経験はありませんか?この理由と対処方法を、UAC(ユーザーアカウント制御)の挙動とともに紹介します。

こんな経験ありませんか? (ケース例)

  • (1) Windowsに管理者権限を持つ「admin-user1」でサインイン
Administratorsグループに属すので、管理者権限を持っています
  • (2) あるテキストファイル(C:\folder1\config.txt)を、ダブルクリックしてメモ帳を開く。
  • (3) 内容を編集して「上書き保存」すると、なぜか「名前を付けて保存」ダイアログが表示される。仕方ないので、上記のパス指定して上書きしようとすると「アクセス権が無い」のエラー。
いや私、管理者権限持っているんだけど…
  • (4) ファイルのアクセス権限が悪いのかな?と思って確認すると、大丈夫そう。
ちゃんとAdministratorsがフルコントロール許可になってるじゃないか
  • (5) もしかして、メモ帳を「管理者として実行」すればいい?あ、うまく上書きできた。さすが私だ。…でも何故?

どうでしょう。このケース、不可解ではありませんか?図の通り、ユーザーのグループ設定も、ファイルのアクセス権設定も誤りは見られません。だけど普通にやると上書きできない。ならばと「管理者として実行」すればできる。…最初から管理者なのに。

解説

これは、UAC(ユーザーアカウント制御)による挙動で、不具合などではありません。

上の例では「Administrators用のアクセス権限が適用される」という前提が正しくありません。それではadmin-user1 がテキストファイルを開くとき、何が起きているのでしょうか。メモ帳を(A)普通に開くときと、(B)「管理者として実行」するとき、それぞれで解説していきます。

(A)普通に開く(B)「管理者として実行」で開く
1
Administrators権限を「封印」する
Administrators権限を行使する
2
Users」グループのユーザーとして扱われるAdministrators」グループのユーザーとして扱われる
3テキストファイルに対して「読み取りと実行」の権限のみを持つ
テキストファイルに対して「フルコントロール」の権限を持つ

普通に開くと、Administratorsグループに属していても、それが無かったことにされるということです。UACがそのような挙動をする理由は、主にセキュリティを高めるためです。詳しい説明は省きますが、不正なプログラムが勝手にシステムを変更しないようにしている、と捉えるとよいでしょう。

対処方法

理由が分かったとして、ではどうすればよいのでしょうか。

特に厳重に管理すべきものでないテキストファイルを、毎回メモ帳を「管理者として実行」するのも効率が悪い。かといってUAC自体を無効にするのは、セキュリティ上好ましくないでしょう。ここでは2つの対処方法を紹介します。

  • アクセス権に「admin-user1」ユーザーを追加する
    • テキストファイルやそのフォルダに対し、該当ユーザーのアクセス権を追加します。下の例では、テキストファイルがあるフォルダに対し、「admin-user1」にフルコントロール権限を追加しています(テキストファイルにもこの権限設定が継承されます)。こうすると「Administrators」を封印しても、フルコントロールの権限を持ちます。
  • 該当ユーザーが作ったフォルダ・ファイルを利用する
    • 今回のケースのテキストファイルは、実はAdministratorが作成したという設定です。もしこれがadmin-user1自身が作成したものであれば、悩みは無かったのです。詳しい理由は補足記事で解説しますが、別のユーザーが作ったファイル・フォルダではなく、自分が作ったものにすればいいわけです。従って、例えばいったん該当フォルダ・ファイルを消して、admin-user1でサインインした状態で、同じものを作り直せばよいわけです。もっとも「それを消すなどとんでもない」という場合は、上で紹介したアクセス権の追加が妥当でしょう。

補足

ここで解説した内容の補足は、別記事で公開しています。

フィードバック

コメント

タイトルとURLをコピーしました