Linuxマシン(3.19)でpkexecを使用して特権を昇格させることができましたが、その仕組みがわかりません。/usr/bin/pkexecにはSUIDビットが設定されており(これは通常、私が収集したものです)、単純にそれを使用して/ bin/shを呼び出し、低特権ユーザーで認証すると、ルート特権が得られます。
これがどのように機能し、それを防ぐ方法は私には不明です。私はpkexec(およびpolkit)について読みましたが、それがわかりません。どんな説明も役に立ちます。
基本的に構成。
Ubuntuを使用している場合は、/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf
をご覧ください。
[Configuration]
AdminIdentities=unix-group:Sudo;unix-group:admin
UNIXグループSudo
またはadmin
のメンバーは、pkexec
を使用して管理機能を取得できます。 Ubuntuのインストール中に作成されたユーザーは、システム管理者であるため、これらのグループのメンバーです。これらのグループのメンバーではない新しいユーザーを作成する場合、pkexec
を使用できません。
man polkit
は、ポリシーキットの構成方法に関する情報を提供します。