Linuxディストリビューションをインストールしました。ルートアカウントを設定する必要がありますか、それともユーザーアカウントで十分ですか?

Linuxディストリビューションをインストールしました。ルートアカウントを設定する必要がありますか、それともユーザーアカウントで十分ですか?

コンピュータの起動時にLinuxディストリビューション(Ubuntu 13.04)にログインするための次の資格情報があります。

james
myawesomepassword123

ログイン画面にパスワードを入力してデスクトップに移動します。

sudo次に、Ubuntuハブに何かをインストールするとき(またはなどを使って作業するとき)にこのパスワードを入力する必要があります。

私の質問は次のとおりです

自分のアカウントに関連付けられたパスワードを提供して、プログラムとインストールへのrootアクセスを許可しますか?

私はLinuxをマルウェアなどから保護するためにrootユーザー名とパスワードを設定する必要があることを意味します。

答え1

プログラムをインストールするためにパスワードを入力すると、パスワードが読み取られます。Sudoフード。 Sudoは、他のプログラムをrootとして実行できる特権プログラムですが、特権を持つユーザーが呼び出す場合にのみ操作を実行できます。これらのユーザーはしばしば「sudoer」と呼ばれます。 Ubuntuインストーラは最初のユーザーアカウントを作成し、それをsudoerにします。ユーザー管理GUIで管理者権限を付与して、他のアカウントをsudoerとして構成できます。

Sudoは、キーボードで自分であることを確認するためにパスワードを入力するように求められます。これには2つの利点があります。戻ると、通過する人は管理タスクを実行できず、システム構成を変更しようとしているというユーザーインターフェイスのフィードバックを受け取ります。

Sudoはインストーラをrootとして実行します。これは、プログラムがrootとして実行されるという意味ではありません。すべての一般的なプログラムのインストールはrootによって行われます。これは、ルートのみがシステムディレクトリに書き込んでインストールされたパッケージのデータベースを変更できるためです。ほとんど例外を除いて(setuid または setgid プログラム)、プログラムを実行すると、すでに持っている権限とまったく同じ権限で実行されます。これは、「ユーザー権限」とは、実際には「ユーザーセッションで実行されているプロセスの権限」を意味するからです。

デフォルトでは、Ubuntuはrootアカウントのパスワードを設定しません。これはセキュリティの問題ではなく、ユーザビリティの問題に近いです。別のパスワードを使用しないことの主な利点は、ユーザーが複数のパスワードを覚える必要がないことです。

ルートアカウントのパスワードを設定しても、マルウェアから保護することには影響しません。お使いのコンピュータにマルウェアがある場合は、パスワードの入力など、あなたがしているすべてのタスクをスヌーピングできます。パスワードプロンプトを偽装することもできます。アカウントのパスワードを入力するか、ルートパスワードを入力するかは関係ありません。マルウェアがコンピュータで実行されると、そのコンピュータはもはやあなたのコンピュータではなく攻撃者のコンピュータになります。

幸いなことに、Linuxではマルウェアから安全を保つのはとても簡単です。ディストリビューションが提供するプログラムを使用してください。 Ubuntuには幅広いコレクションがあるため、他のソースからソフトウェアをインポートする必要がある作業はあまりありません。これらのプログラムは多くの人によってよく調査されており、マルウェアが含まれているか、セキュリティの脆弱性があると発見された場合は、すぐにセキュリティ更新プログラムによって修正されます。

答え2

自分のアカウントに関連付けられたパスワードを提供して、プログラムとインストールへのrootアクセスを許可しますか?

短い答え:はい。

長い答え:外部で実行されているプロセスのユーザーを(「法的に」)変更することはできません。 2つのことが発生する可能性があります:

  1. ユーザーレベルのプログラムは、sudo誰が実行しても、設定を介してスーパーユーザー権限でプログラム(たとえば)を呼び出します。このSUIDプログラムを使用すると、発信者はスーパーユーザー権限でほぼすべての操作を実行できますが、通常、この操作を実行する前に発信者または宛先ユーザーのパスワードを要求するように構成されます。これが呼び出しプロセスにパスワードが必要な理由です。
  2. すでに実行されている(より高い権限で)デーモンプロセスは呼び出しプロセスの代わりに特定のタスクを実行できますが、これを実行するには(スーパー)ユーザーパスワードが必要です。大きな違いはありません。

システムがどれほど安全であるか(マルウェアまたは人に対する)かどうかは、同じパスワードまたは他のパスワードを使用するよりもパスワードの品質に依存します。ユーザーのパスワードを頻繁に入力して他人に公開するのを心配している場合は、ユーザーがsudo別のパスワードを使用してルートにアクセスして使用するのを防ぐことがより有利です。

答え3

デフォルトでは2つのアカウントがあります。通常、通常のユーザーアカウントを使用してログインし、rootアクセスが必要な場合はrootとして再度ログインし、rootパスワードを入力してそれを行うことができます。ルートパスワードは一般ユーザーのパスワードとは異なる必要があります。デフォルトでは、一部のディストリビューション(Ubuntuなど)ではルートアカウントが無効になっています。これらのシステムに対する権限を高めるには、sudoルート権限でいくつかの/すべてのコマンドを実行できるように、名前付きコマンドを使用できます。

たとえば、rootとしてログインします。

$ sudo su -

root でコマンドを実行します。

$ sudo apt-get install gimp

最初の例では、ユーザー(su)をrootに設定します(権限があると仮定)。このコマンドを実行すると、ルートプロンプトが表示されます。

2番目のコマンドはDebian / Ubuntuインストーラを実行し、gimpというプログラムをrootとしてインストールします。

関連情報