あなたは管理者ですが、ではありませんroot
。root
ユーザーは何もすることができます。管理者はとしてアクションを実行root
できますが、通常、管理者が行うことはによって行われませんroot
。そうすれば、自分のシステムを完全に制御できますが、使用することを選択した場合に限ります。
Ubuntuは、あなたがroot
本当にあなたであることを確認するために、あなたが何かをしようとするときにあなたのパスワードを求めます。
ユーザーアカウント:人間、およびその他
本物の人間のユーザーは、それらを表すユーザーアカウントを持っています。Ubuntuをインストールしたときに、そのようなアカウントを1つ作成しました。しかし、すべてのユーザーアカウントが実際の人間のユーザーを表すわけではありません。
本物の人間のユーザーは、ユーザーアカウントを通じて権限を付与(および拒否)されます。システムを使用するには、ユーザーアカウントを使用する必要があります。したがって、ユーザーアカウントの機能と制限が適用されます。
ユーザーアカウントは、一連の機能と制限を体系化するためにも使用されます。実際には、マシンの人間ユーザーが多くない限り、一部のユーザーアカウントが存在するため、特定のプログラムまたはコマンドをそのID、ジョブに適切な能力と制限を持つIDで実行できます。
たとえば、www-data
ユーザーが存在するため、Webサーバーを実行すると、サーバーがアクセス可能にするデータを所有します。実際の人間のユーザーがこれらのデータに未チェックの変更を加える権限を与えられる必要はありません。また、WebサーバーはWebの提供に不要なアクションを実行する権限を与えられる必要はありません。その結果、WebサーバーとWebシステムの残りの両方は、WebサーバーがWebサーバーのすべての権限を持つ(およびWebサーバーの権限を持つ)人間のユーザーによって実行された場合よりも、偶発的または意図的な破損に対してより安全です所有)。
最も重要な非人間ユーザーアカウント
ユーザー名がのスーパーユーザーはroot
、能力と制限の非常に具体的な組み合わせを持つ人間以外のユーザーアカウントです:すべての能力、制限なし。
root
「S 許可何もします。root
システム自体がそれらを実行したり、それらから意味を成すことができないため、まだできないことがあります。そうroot
することはできませんでプロセスを殺すに無停電睡眠を、またはそれを移動し、移動するために岩が重すぎるします。
などの多くの重要なシステムプロセスはinit
として実行されroot
、root
管理タスクの実行に使用されます。
としてログインできますroot
か?
root
パスワードを使用してログインできるようにアカウントを構成することは可能ですが、Ubuntuではデフォルトで有効になっていません。代わりに、あなたは考えることができますroot
のようなものwww-data
、lp
、nobody
、および他の非ヒトのアカウント。(実行するcat /etc/passwd
かgetent passwd
、すべて表示します。)
人間のユーザーは自分のユーザーアカウントでログインし、別のユーザーアカウントで何らかのタスクを実行する場合、そのユーザーとして実際にログインすることなく、そのIDでタスクを実行します。
他の人間以外のユーザーを設定するwww-data
こともできます。たとえば、ユーザーとしてログインすることもできます。ただし、これは非常にまれですが、他のUnixライクなOSの一部root
では、端末のようにログインするのが一般的です。全体のグラフィカルなインターフェイスを実行しているのリスクroot
として実行するように設計されていませんどのように多くのグラフィカルなプログラムと組み合わせ、root
そして正しく動作しない場合がありますが、あなたが取得しようとすることはありませんという意味でroot
出資デスクトップセッションを。
してくださいノートとしてログインしている間というroot
のUbuntuにデフォルトで無効になっていますが、取得する方法があるroot
として認証なしでシェルをroot
同様の効果を生み出す、最も一般的なのですsudo -s
か-i
、リカバリモードと同様の技術。(あなたはそれらのものが何であるかわからない場合は心配しないでください。)これは実際にログインしていない:リカバリモードでは、あなたがなるroot
任意のログインが起こる前に、sudo
ベースの方法、あなただけのルートとしてシェルを実行しています。
管理者
Ubuntuのでは、管理者は、彼らのようにやりたいことができますユーザーでroot
、彼らがそうすることを選択した場合。
[システム設定]> [ユーザーアカウント]。「Eliah Kagan」は管理者であるため、次のように操作できますが、そうroot
ではありませんroot
。
私はUbuntuシステムの管理者です。プログラムを実行すると、通常は次のように実行されますek
(「Eliah Kagan」はek
ユーザー名に対応するフルネームです)。
AbiWordまたはLibreOfficeを実行すると、として実行されek
ます。Firefox、Chromium、Empathy、またはPidginを実行すると、として実行されek
ます。デスクトップインターフェイスを提供するために実行されるプログラムは、として実行されek
ます。
ただし、私は管理者なので、管理タスクを実行する必要がある場合は実行できます。
須藤
コマンドラインでは、通常sudo
、次のようにコマンドを実行しますroot
。
sudo command...
これにより、パスワードの入力が求められます。(root
のパスワードではありroot
ません。パスワードはありません。)
- 私は管理者であるため、としてアクションを実行できます
root
。デフォルト設定では、これを行うにはパスワードを入力する必要があります。
- 管理者以外のユーザー
root
は、パスワードを入力してもとしてアクションを実行できません。sudo
コマンドを実行しているユーザーが管理者でない場合、コマンドは失敗します。
管理者はとしてアクションを実行する機能を除いてまったく普通のユーザーであるため、特権をroot
必要とroot
するコマンドの実行は、コマンドがとしてroot
実行される場合を除き、引き続き失敗します。
sudo
管理タスクを実行するために使用する必要があることを示すスクリーンショット。(に基づいて、「サンドイッチ」によってランドール・マンロー。)
sudo、グラフィカル
グラフィカルプログラムは、/やなどのグラフィカルフロントエンドをroot
介して実行できます。たとえば、GPartedを実行するには、実行できます。次に、グラフィカルにパスワードの入力を求められます。sudo
gksu
gksudo
kdesudo
root
gksudo gparted
グラフィカルにプロンプトが表示されるため、端末を用意する必要はありません。これは、管理ツールの実行方法の1つですroot
。
ポルキット
Polkit(かつてPolicyKitとして知られている)は、管理者がを実行する別の方法ですroot
。プログラムは、アクションを実行するサービスにアクセスします。アクションがプログラム全体を実行している場合があります。場合によっては、アクションがより制限されます。
最近では、多くのグラフィカルシステム管理ユーティリティがを使用するのではなく、デフォルトでpolkitを使用するように設定されていますsudo
。
このようなユーティリティの1つの例は、ソフトウェアセンターです。polkitを最大限に活用し、特権を必要とする何かをしたい場合にのみユーザーがパスワードを入力することを要求しroot
ます。(これは、- sudo
ベースの認証でも可能ですが、達成するのが難しく、よりいです。)
Software Centerでは、アプリケーションについて検索して読むことができます。次に、インストールするときにパスワードの入力を求められます。
polkitの違い
任意のグラフィカルなプログラムは、として実行することが可能root
でgksudo
、その他のグラフィカルなsudo
フロントエンド。(プログラムがない可能性があります動作し、次のように使用するように設計されていますかどうかに応じて、非常によくroot
。しかし、プログラムを起動するコマンドは、として実行されますroot
。)
sudo
Ubuntuのアプリケーションroot
が舞台裏でアクションを実行する方法として、polkitは現在GUIフロントエンドよりも一般的ですが、polkiはroot
それを許可し、実行可能なアクションを示す構成ファイルがあるかのようにグラフィカルアプリケーションのみを実行します。
Polkit、非グラフィカル
pkexec
polkitでプログラムを実行するために使用されるコマンドです。
のようにsudo
、pkexec
非グラフィカルコマンドを実行できます。(また、コマンドの機能を定義する構成ファイルは必要ありませんroot
。単にコマンドをとして実行します。)
pkexec command...
pkexec
ターミナルから実行された場合でも、グラフィカルにパスワードを要求します(これは、その動作がgksudo
まっすぐに実行するよりも似ている方法の1つですsudo
)。
(GUIがない場合-たとえば、仮想コンソールまたはテキストのみのSSHセッションからログインしている場合、またはGUIが適切に機能していない場合- が正常pkexec
に低下し、コマンドラインでパスワードの入力を求められます)
認証が正常に実行されると、コマンドは端末で実行されます。
他のユーザーとしてコマンドを実行する root
root
できることは何でもできるので特別です。しかし、それは他のアカウントと同様のユーザーアカウントであり、コマンドroot
をsudo
(直接またはグラフィカルフロントエンドで)実行する方法を少し変更して、他のユーザーとしてコマンドを実行できます。
sudo -u username command...
gksudo -u username command...
pkexec --user username command...
何?sudo
最初に入力するだけですか?そのセキュリティはどうですか?!
でコマンドを実行することsudo
は、教皇の不確実性を呼び出すようなものです。
あなたはときにコマンドを実行しsudo
、[呼び出し教皇の無謬性] 、Ubuntuは [カトリックの人々 ] あなたがしている作るのは難しいしようと本当に [本当に教皇]。
はい、教皇の不可ibility性は(規範的であっても)宣言的であることを知っています。平行は完全ではありません。
何かをしようとしているroot
とsudo
(またはpolkit)は大したことです- Ubuntuはちょうどあなたがプログラムを実行する他のすべての時間などによって、そのスライドをさせるつもりはありません。
パスワードの入力を求められます。(その後、あなたがそうしたことは短い間記憶されているので、システムを管理するときにパスワードを絶えず入力する必要はありません。)
注意することを思い出させることに加えて、これは2つのシナリオから保護します:
- 誰かがあなたのコンピューター(またはモバイルデバイス)を使用しています。電子メールをチェックしたり、同様の無害な目的を装っていたりするかもしれません。ここでは、彼らが何らかの危害を加える可能性がまだあります。例えば、彼らはあなたのドキュメントを変更または削除することができます。ただし、パスワードを入力できないため、システムを管理できません。
- システムを管理することになっていないプログラムは、パスワードを入力しない限り、管理できません。たとえば、Webブラウザーがセキュリティバグによって侵害され、悪意のあるコードを実行した場合でも、管理タスクを実行できません。ユーザーを作成および削除したり、
root
(LibreOfficeなどのパッケージマネージャーによってインストールされたものを含む)としてインストールされたプログラムを変更したり、システムを深いレベルで変更したりすることはできません。
聞いたことがあるsu
。あれは何でしょう?それを使用できますか?
su
別のユーザーとして認証し、コマンドを実行します(または対話型シェルを開始します)。これは、制限することが可能です誰が使用を許可されsu
ますが、su
で認証対象のアカウントのパスワードは、ユーザーのパスワードではないが実行されています。
たとえば、実行して、ユーザー名と同じように、。su username -c 'command...'
command...
sudo -u username command...
あなたのようにコマンドを実行したときにでもusername
とsudo
、あなたが入力したパスワードを。のようにコマンドを実行するusername
とsu
、username
パスワードを入力します。
以来su
認証を行う対象のユーザのために、とsu
あなただけのユーザーとしてコマンドを実行することができ、アカウントが有効になっています。
root
アカウントが(のようにwww-data
してnobody
)、デフォルトでは無効になっています。としてログインするために機能するパスワードはありませんroot
。したがって、su
コマンドをとして実行することはできませんroot
。
あなたは、することができます使用しsu
てログインすることができ、別のユーザー(通常は人間を表し、システム上のすべてのユーザーアカウントが含まれる)などのコマンドを実行します。
ゲストとしてログインすると、まったく使用できませんsu
。
組み合わせsu
てsudo
管理者ではない人でも、管理者としてsu
実行することができsudo
ます。(ただし、管理者としてコマンドを実行するには管理者のパスワードが必要なため、これで問題ありません。)つまり、制限されたユーザーはを使用su
しsudo
てコマンドを実行できますroot
。これは次のようになります。
su username -c 'sudo command...'
(この方法でグラフィカルプログラムを実行するには、特別な注意が必要です。)
のsu
ようにコマンドを実行するためのより安全な方法ではないでしょうroot
か?
おそらくない。
ユーザーがとして行動することを許可されない場合はどうなりroot
ますか?
管理者ではなく制限ユーザーにします。
管理者として実行されているプログラムがしようとするsudo
とroot
どうなりますか?
sudo
パスワードなしで成功するように再構成しない限り、失敗します。
root
最近のsudo
コマンドでピギーバックとして実行されるべきではないプログラムはできないので、パスワードは必要ありませんか?
これが成功する可能性は非常に低いでしょう。最近では、ほとんどのオペレーティングシステム(Ubuntuを含む)はsudo
、そのタイムスタンプが特定のコンテキストでのみ適用されるようにデフォルトで設定されています。
たとえばsudo ...
、1つの[ターミナル]タブで実行して認証に成功した場合sudo
、別のタブで(または無関係のGUIプログラムで実行するか、仮想コンソールまたはSSHセッションから実行する)パスワードの入力を求められます。すぐに実行されたとしても。
ユーザーXとして実行されているプログラムは、ユーザーXのパスワードにアクセスできませんか?
番号。
悪意のあるプログラムが管理者として実行できる場合、管理者がsudo
polkitまたはpolkitで認証するときに入力された内容を「聞き取る」ことはできませんか?
はい、可能です。しかし、それはに入力されたパスワードを「リッスン」できますsu
。
パスワードを誰かに伝えた場合—
パスワードを他人に教えないでください。
誰かが私の代わりに何かをするために私のパスワードを知っていなければならないが、彼らにシステムを管理させたくない場合はどうなりますか?
理想的には、必要なことを実行できる別のユーザーアカウントが必要です。たとえば、アカウント間でファイルを共有し、他のユーザーへのアクセスを拒否しながら、複数のユーザーがファイルに書き込むことを許可できます。
ただし、信頼性の低い人がアカウントの共有を許可される場合は、制限されたユーザーアカウントである必要があります。この目的のために別のアカウントを作成することもできます(これは理にかなっています-それがあなたと別の機能を持ちたい誰かのためのアカウントであるなら、それは別のアカウントであるべきです)。
だから、最も安全な事は、両方を許可しないことであろうsudo
とsu
、人々がとしてログインしますroot
手動で、?
いいえ、ユーザーroot
をまったくログインさせないことに関連する重大な欠点があるためです。可能な限り、できるだけ少ない数のアクションを実行する必要がありますroot
。システムの管理に直接関係するほとんどの行為(たとえば、ユーザーの構成の確認、ログの読み取り)でも、通常はroot
特権は必要ありません。
また、同じように潜在的に悪意のあるプログラムは、彼らが実行したときにどのように誰かの種類を見ることができるsudo
かsu
、または偽の作成sudo
/ su
パスワードプロンプトを、潜在的に悪意のあるプログラムは、あまりにも、偽のログイン画面を作成することができます。
ユーザーを管理者にする理由は何ですか?
グループメンバーシップ。
Ubuntu 12.04以降では、管理者はと呼ばれるグループのメンバーですsudo
。
Ubuntu 11.10以前では、管理者はと呼ばれるグループのメンバーですadmin
。
12.04より前のUbuntuシステムを12.04以降にアップグレードすると、admin
グループは下位互換性のために保持されます(そして、その中のユーザーに管理権限を与え続けます)が、sudo
グループも使用されます。
制限付きユーザーアカウント
管理者アカウントの代わりに制限されたユーザーアカウントを使用できますか?
あなたが好きなら、確かに。[システム設定] > [ユーザーアカウント]で制限されたユーザーアカウントを作成し、そのユーザーとしてログインします。
管理者アカウントを制限付きユーザーアカウントにすることはできますか?
はい、ちょうどから削除sudo
し、admin
グループ(上記参照)。
ただし、システムを管理できるように、少なくとも1つの他の管理者アカウントがあることを確認する必要があります。ない場合は、リカバリモードまたはライブCDで起動し、一部のユーザーを再び管理者にする必要があります。(これは、失われた管理者パスワードをリセットすることに似ています。)
ユーザーとグループを管理するためのグラフィカルツールは、通常、管理者なしでシステムを作成できないようにするか、少なくとも警告します。通常、コマンドラインツールは実行しません(自分が何をしているのかを知っていることを信頼します)。