最新のLinuxディストリビューションは、sudoと呼ばれる非常に調整可能で高度に設定可能なツールを使用しています。すでに聞いたことがあるかもしれません。Windowsでは、プログラムをインストールするときに、管理者パスワードを入力する必要があります。
Ubuntuでは、管理者ユーザー(root)はデフォルトで非アクティブ化されています。でパスワードを変更するまで、あなたは彼のパスワードさえ知らない、誰も知らないsudo
。ユーザーは、短時間または単一のタスク(たとえば、プログラムのインストール)でルート権限を取得できます。このユーザーには、使用する権限が必要ですsudo
(で構成されています/etc/sudoers
)。でsudo
実行されるプログラムは、rootユーザーとして実行されます。
次に、gnomeによって駆動されるグラフィカルセッションには、管理タスクを実行するためのその他のメカニズムがあります。それらの1つはpolicyKitです。ルート権限でバックグラウンドで実行されているデーモンがあります。たとえば、ユーザーがマシンをシャットダウンしたい場合(rootのみができること)、ユーザーは安全なコンテキスト(D-Busと呼ばれる)を介してこのデーモンと通信します。許可されている場合、デーモンはシステムのシャットダウンコマンドを実行します。それらのルールはで定義されてい/usr/share/polkit-1/actions/*
ます。
Gnomeには、しばしばGnome Keyringと呼ばれるシングルサインオンソリューションが付属しています。このキーリングには、資格情報を保存できます。ネットワーク共有(nautilusなど)を介して認証する場合、パスワードの入力を求められ、パスワードを記憶するチェックボックスがあります。パスワードで保護されたデータベースであるキーリングに保存されます。このデータベースは、PAMを介したグラフィカルログインプロセス中にロック解除されます。
次に、SELinuxに基づいたAppArmorがあります。AppArmorは、システムで実行されているさまざまなアプリケーションのプロファイルを定義します。これらのプロファイルは、特定のアプリケーションが必要とするアクセスを処理および制限します。
これらのメカニズムはすべて、Windowsオペレーティングシステムにも実装されています。別の、より透明性の低い方法で。
これらのメカニズムがどのように連携するかを理解するために、上記のメカニズムの講義を本当にお勧めします。
参照: