Ubuntuは、「セキュリティ上の理由」によりルートログインを無効にします。ただし、セキュリティにはまったく役に立たないようです。
侵入者がUbuntuのログインパスワードを取得することに成功した場合、ログインパスワードと同じであるため、侵入者にもスーパーユーザーパスワードがあります。
ただし、rootパスワードが必要な場合は、ログインするだけでは侵入者の助けにはなりません。そうですよね。
基本的に、私が知りたいのは:なぜUbuntuはルートパスワードを無効にすることを選択したのですか?セキュリティ上の理由は何ですか?
あなたが「考えた」理由に応じて答えないでください-私は公式ソースからの答えを探しているか、それらにリンクしています。
Mitchはコメントに良いリンクを投稿しました: なぜrootでログインするのが悪いのですか? そしてDebianサイトは their wiki :
なぜ
Sudo
?
Sudo
を使用することは、次のようなさまざまな理由で、ルートとしてセッションを開くよりも優れています(安全です)。
Rootパスワードを知る必要はありません(
Sudo
は現在のユーザーのパスワードを要求します)。追加の特権を一時的に個々のユーザーに付与し、パスワードを変更することなく削除できます。
Sudo
を介して特別な特権を必要とするコマンドのみを実行するのは簡単です。それ以外の時間は、特権のないユーザーとして作業するため、ミスが引き起こす可能性のある損害が軽減されます。監査/ログ:
Sudo
コマンドが実行されると、元のユーザー名とコマンドがログに記録されます。上記の理由により、
Sudo -i
(またはSudo su
)を使用してルートに切り替えることは、上記の機能をキャンセルするため、通常は非推奨です。
Ubuntuについてメリットとデメリットは、 our wiki にリストされています。
Sudoを使用する利点
Ubuntuには、ルートログインをデフォルトで無効にしたままにする次のような多くの利点があります。
インストーラーに尋ねる質問が少なくなります。ユーザーは、時々使用するための追加のパスワード(つまり、rootパスワード)を覚えておく必要はありません。そうした場合、それを忘れる可能性があります(または安全に記録しないため、誰でも簡単にシステムに侵入できます)。
デフォルトでは、「何でもできます」対話型ログインを回避します。大きな変更が発生する前にパスワードの入力を求められます。これにより、自分がしていることの結果について考える必要があります。
Sudoは、実行されたコマンドのログエントリを(
/var/log/auth.log
に)追加します。混乱した場合は、戻って実行されたコマンドを確認できます。サーバーでは、ブルートフォースで侵入しようとするすべてのクラッカーは、rootという名前のアカウントを持っていることを認識し、最初にそれを試行します。彼らが知らないのは、他のユーザーのユーザー名です。ルートアカウントのパスワードはロックされているため、そもそもクラックしたり推測したりするパスワードがないため、この攻撃は本質的に無意味になります。
- グループにユーザーを追加および削除することにより、管理者権限を簡単に転送できます。単一のルートパスワードを使用する場合、ユーザーの認証を解除する唯一の方法は、ルートパスワードを変更することです。
Sudoは、よりきめ細かなセキュリティポリシーでセットアップできます。ルートアカウントのパスワードは、システムで何らかのタイプの管理タスクを実行する必要があるすべての人と共有する必要はありません(前の箇条書きを参照)。
認証は、短時間で自動的に期限切れになります(必要に応じて最小限または0に設定できます)。そのため、Sudoを使用してrootとしてコマンドを実行した後、ターミナルから離れると、ルートターミナルを無期限に開いたままになりません。
須藤を使用することの欠点
デスクトップの場合、Sudoを使用する利点は大きいですが、注意する必要がある可能性のある問題があります。
Sudoで実行されるコマンドの出力をリダイレクトするには、別のアプローチが必要です。たとえば、
Sudo ls > /root/somefile
は、そのファイルへの書き込みを試みるシェルであるため、機能しないと考えてください。ls | Sudo tee -a /root/somefile
を使用して追加するか、ls | Sudo tee /root/somefile
を使用してコンテンツを上書きできます。コマンド全体をSudoで実行されるシェルプロセスに渡して、Sudo sh -c "ls > /root/somefile"
などのルート権限でファイルを書き込むこともできます。多くのオフィス環境では、システム上の唯一のローカルユーザーがルートです。他のすべてのユーザーは、nss-ldapなどのNSS手法を使用してインポートされます。ワークステーションをセットアップまたは修正するには、nss-ldapが壊れているネットワーク障害の場合、rootが必要です。これにより、システムがクラックされない限り使用できなくなる傾向があります。ここでは、追加のローカルユーザー、または有効なルートパスワードが必要です。ローカルユーザーアカウントには、ローカルディスク上の$ HOME、NFS(またはその他のネットワークファイルシステム)上のnot、および参照しない.profile/.bashrcが必要です。 NFSマウント上のファイル。これは通常ルートの場合ですが、非ルートレスキューアカウントを追加する場合は、これらの予防措置を手動で行う必要があります。ただし、Sudoでローカルユーザーを使用する利点は、上記の利点で説明したように、コマンドを簡単に追跡できることです。
そして、私たちは常にそれを持っています(最初のリリースから)。
見つかった最も古い参照 は、「Sudo」を持つ4.10について語っています
SHUTTLEWORTHがDEBIANベースのUBUNTU LINUXを起動します
... DebianベースのUbuntu LinuxにはGnome 2.8、カーネル2.6.8.1、OpenOffice.org 1.1.2が含まれており、テキストベースではあるが簡単なインストール手順が付属しています。 Ubuntuは、Mac OSXと同じようにSudoを使用することを好むrootユーザーを無効にしました...
ヘルプページに と書かれていることは十分明確で、十分な目的があると思います。
buntuは「すべての人に」 十分であれば、ルートアクセスを使用してコンピューターを損傷する必要はありませんが、同時にほとんど必要ありません(そして、簡単に有効にします)。
問題は「十分な」人々にあるのではなく、他のすべての人にとって、コンピューティングの別の世界からLinuxにもたらされる可能性があり、最初の影響はUbuntuにあります。
あなたが専門家ではなく、root
が何であり、それを適切に処理する方法を正確に知らない場合、それを有効にする必要はありません(そして、たとえば、それでグラフィックログインを行うリスクがあります) 。
安全な側で物事を行う方法を学び、ハードでより危険なパスに進む方が、ハードな方法で直接始めてからインストール/ワークステーションにダメージを与え、イライラして多分できない完全に機能するシステムを回復します。
一般的に、予防することは治癒するよりもはるかに優れています。