Windows基礎

【Windows】ユーザ権限/特権一覧、管理者権限について

Windows のユーザー権限一覧の確認と付与

Windows では「一般ユーザー」と「管理者ユーザー」という分類がありますが、この記事ではその具体的な差を見ていきます。

Windows には「ユーザー権利の割り当て: User Rights Assignment」というローカルポリシー・グループポリシーの設定があり、ここでどのユーザーにどの権利を与えるか設定します。

例えばローカルポリシーを設定するなら「Windows キー + R」⇒「ファイル名を指定して実行」⇒「gpedit.msc」

「コンピューターの構成」⇒「Windowsの設定」⇒「セキュリティの設定」⇒「ユーザー権利の割り当て」を選択すると、ユーザー権限の一覧が表示されます。

デフォルトではいくつかの権限に Administrators グループが設定されていることが分かります。つまり、ここの設定を変更することにより、特定ユーザーや特定グループに権限を付与することができます。

これらの権限の説明については以下 URL にある表で確認できます。

User Rights Assignment (Windows 10) - Windows security
ユーザー権限の割り当てセキュリティ ポリシー設定のユーザー権限に関する情報の概要とリンクを示します。Windows。

表には定数名として Se で始まる名前が付けられています。末尾は Privilege となっているものと Right となっているものがありますが、Right は主にログオンに関わる権利、Privilege は操作上の権利という分けがあるようです。(昔の名残?)

一般ユーザーと管理者ユーザーの権限の違い, whoami/priv

実際のユーザーにその設定が割り当たっているかどうかは、コマンドプロンプトにて「whoami /priv」で確認できます。

一般ユーザーで出力すると以下の通りです。つまり、一般ユーザーのコマンドプロンプトには 5 つの権限が割り当たっていることが確認できます。(あくまで、コマンドプロンプトというアプリケーションの場合はこうなる、という話。)

右端は状態として「有効/無効」が表示されていますが、これは安全弁であり、実際にはプログラミングで AdjustTokenPrivileges を使うことによって必要なタイミングで無効のものを有効化することができます。

C++ での特権の有効化と無効化 - Win32 apps
アクセス トークンで特権を有効にすると、プロセスは以前には実行できなかったシステム レベルのアクションを実行できます。

また、管理者 (admin) ユーザーになるとさらに色々な権限が付いています。管理者権限でコマンドプロンプトを実行し whoami /priv を実行すると以下のようになります。

例えば身近なところでいえばシステム時刻の変更、タイムゾーンの変更などがあります。

また、robocopy の /B オプションで「アクセス権無視」のファイルコピーができるようになりますが、これは「SeBackupPrivilege」権限 (ファイルとディレクトリのバックアップ) のおかげでした。

【robocopy /B】バックアップモードで使われるビルトイングループ "BackupOperators"とは?何ができるの?administrators権限との違いは?
ビルトイングループとは Windows のビルトイングループとは、Window...

また、ファイル/フォルダの所有者を強制的に変更することができるのも「SeTakeOwnershipPrivilege」のおかげでした。

【解決】Windowsで管理者(administrator)なのに権限が無い,フォルダ/ファイルのアクセス許可を変更できないしアクセスもできない
症状 Windows の フォルダ (NTFS) アクセス権に管理者 (adm...

コメント

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