ルートとしてログインするオプションがないのはなぜですか?


39

Ubuntuでは、Windowsの管理者のように、システムの起動時にGUIユーザーがrootとしてログインできないのはなぜですか?

なぜ端末からのみログインするように制限されているのですか?


4
また、rootでグラフィカルアプリを実行できる「gksu」にも注意してください。すなわち「gksu nautlius」
ジェレミー

1
一部のディストリビューションでは、rootとしてXにログインできます。CentOS6.2はその1つです。
djangofan

回答:


42

あなたが何をしているかを正確に知らない限り、そうすることは推奨されないからです。ルートはスーパーユーザーであり、何でもすべてを実行できることを意味します-管理タスクのみを対象としています。毎日のタスクは、全員(またはユーザーの大部分)がルートを使用した場合に悪用されるセキュリティリスクを負う可能性があります。Think Windows-マルウェアとウイルスの問題の99%は、日常業務に管理者アカウントを使用している人が原因です。

例を見てみましょう。

誰かがシステムに侵入し、ディスクを消去するように指示した場合はどうなりますか?あなたは、通常のユーザーとして実行している場合は、ファイルのみ、あなたは削除することができる(はずです)うものです属しあなたに、そして他に誰もいません。たとえば、他の人がコンピューターを使用している場合、どんなに一生懸命努力しても、それらのファイルはまったく変更されません。つまり、システムファイルを変更することはできません。したがって、システムは強固なままで、影響を受けない/感染しません。

ただし、rootとして実行する場合は、ハードドライブを完全に消去し、おそらくハードウェア自体に何らかの損傷を与え、通常はシステムを使用できなくすることができます。修正:コンピューター上でrootとして単一のコマンドを実行できるユーザー(悪意のあるWebサイトまたは電子メールの添付ファイル)は誰でも実行できます。

http://everyjoe.com/technology/explain-why-not-log-on-as-root/を見てください。これは、私が説明したよりもうまく説明できる素晴らしい記事です。

編集:ここに別のものがありますhttp://ihazomgsecurityskillz.blogspot.nl/2010/09/running-as-root.html

EDIT2:を常に使用しsudo commandたり、スーパーユーザーとしてgksu command実行したりできcommandます。どちらもグラフィカルユーティリティとコマンドラインユーティリティで動作します。sudoただし、通常はCLIに使用されgksu、同じことを行うグラフィカルパスワードプロンプトです。

ある程度までは、root一時的になることができます- 常にrootとして実行し、不安定になるリスクよりもはるかに優れています。


1
しかし、Fedoraが起動時にこのオプションを許可するのはなぜですか?
レンジットG

5
Ubuntuはユーザーフレンドリーになるように設計されており、rootを許可しないことで、rootとして実行されている通常のユーザー(Linux初心者)からの誘惑が取り除かれると思われます。
evgeny

わかりませんでした。
レンジットG

2
私のコメントは少し間違っていました。代わりにこう言ってみましょう。グラフィカルなrootログインを禁止することで、自分が何をしているのかわからない限り、rootとして実行されるのを防ぎます。つまり、私の意見では、すべてのリスクを知って理解している経験豊富なユーザーにのみ許可されるべきです。
evgeny

1
読者が現実に戻って、ちょうどジャークに、やや積極的であることを意味する、実際にポイントを作ります。
evgeny

11

標準のUbuntuでは、rootGDM(グラフィカル)ログインマネージャーからも、テキストコンソール(つまり、Ctrl+ Alt+を押すと表示されるコンソール)からのログインも許可されませんF1

root(つまり、管理者)操作を実行するにsudoは、ターミナル、またはそれに相当するGUIでコマンドを使用する必要があります。これらはパスワードを要求し、要求された特権操作(およびその操作のみ)を実行します。

この動作の理由は、他の人が指摘したように、root操作の実行は本質的に危険であり、実際にroot特権を必要とする操作の数が比較的少ないsudoことです。このアプローチを使用すると、ほとんどの場合、非特権アカウントで実行されます(つまり、無害です)システムや他のユーザーに)、root本当に必要なときに力を得るだけです。

例が明確になる場合があります。マシンに新しいサービス(デーモン)をインストールするとします。これは比較的新しいものであり、それについて、およびニーズに合わせて構成する方法について読む必要があります。情報や設定例などを見つけるためにWebを頻繁に閲覧することになります。詳細を尋ねるためにIRCチャットを利用することもできrootます。最終的に、2つの操作の特権アクセスのみが必要です。

  1. 新しいプログラムをインストールする(つまり、sudo apt-get install ...
  2. デフォルト設定を編集する

コンピュータのセキュリティで一般に受け入れられている原則は、操作を実行するために常に最小限の特権レベルを使用することです。-これにより、ソフトウェアのバグやオペレーターのエラーが原因で何か悪いことが起こるリスクが軽減されます。

Ubuntuのデフォルト設定はこの方向に進みます。root代わりにログインを使用している場合は、rootアカウントからIRC(および場合によっては同時に実行する他のすべての操作)を実行してインターネットをサーフィンし、システムを不必要に脅威にさらすことになります。

更新:コンパイラーの例では、次のように進めます。

  1. 通常のユーザーとして SSH経由でノードにログインし、グラフィカルなX11ディスプレイを実行している別のUbuntuまたはGNU / Linuxノードからログインします。必ずSSH経由のX11転送を有効にしてください:

    ssh -X myuser@remotemachine.example.org
    
  2. shell / SSHプロンプトで、次のコマンドを発行します。

    sudo /path/to/the/compiler/install/program
    

    これにより、root特権を使用してコンパイラインストーラが実行され、目の前のグラフィカル表示に(SSH転送を介して)アクセスします。


OK。たとえば、1台のLinuxマシン(パテ経由で10人のユーザーが接続している)を使用しているとします。すべてのユーザーが使用できるように、rootとして1つのソフトウェア(たとえば、1つのコンパイラー、同じ環境変数を設定する必要がある)をインストールしたい。ただし、インストーラーはGUIモードでのみ動作し、コマンドラインインストーラーでは動作せず、rootログインでのみ動作します。インストールを管理するにはどうすればよいですか?私のUbuntuでアームのlinux-gccのインストール中に、私はこのような状況を満たしているが、私は成功した私のFedoraのマシンで同じにインストールされている(RedHatのモズ版)
Renjith G

@Renjit G:ええ、これはそれ自体で良い質問です。なぜあなたはそれを聞いてみませんか?
リッカルドムリ

1
@Renjit G:新しい質問をすることをお勧めします。多くの具体的な質問をすることは、1つの多面的な質問をするよりも優れています。なぜなら、詳細かつ要点のある回答ができるからです。現在の質問を編集することで、彼らは唯一のあなたの質問の半分に答えるようにあなたが既に...外観を得ているの返信
リッカルドMurri

Murriに感謝します。私は次の投稿からのみそのように間違いなくフォローします。
レンジットG

1
そのようなコンパイラを考えると、私たちのほとんどはどのコンパイラなのか興味があります。APTソースまたはスタンドアロンの.debファイルを介して配布されるソフトウェアの場合、「sudo」を使用してコマンドラインからインストールするだけで十分です(すべてのユーザーでも可能です)。また、rootにならずに、すべてのユーザーのGUIからこのようなファイルをインストールすることもできます。表示されるGUIパスワードプロンプトは、「sudo」に相当します。

8

Ubuntuでsudoを使用する理由は、ここにあります。「ルートに行く」ための簡単な方法が必要な場合は、sudo -sまたはを使用しますsudo -i


9
明確にするために、sudo -sはユーザーとしてrootセッションを作成し、sudo -iはrootユーザーとしてrootセッションを作成すると考えています。違いを確認する簡単な方法は、コマンドを発行し、「echo $ HOME」を実行して、使用されている環境を確認することです。または、「cd〜」と入力すると、「pwd」も機能します。
スケイン

6

rootを使用した場合の山ほどの警告とは別に、ログインしてターミナルから以下を実行することでrootログイン有効にできます。

sudo passwd

これにより、最初にパスワードの入力が求められ、次にUNIXパスワードの変更を求められます。入力するパスワードはrootアカウント用です。

Ubuntuのウィキは警告と落とし穴- Ubuntuの内のルートとのsudoの深さに大きな記事があります。


5

ここには2つの質問があります。1つは、Ubuntuでルートログインがデフォルトで無効になっている理由です。これは、ここのいくつかの投稿で対処されています。

2番目の質問は、グラフィカルなルートログインが特に軽視されているのはなぜですか?

非グラフィカルルートログインのすべての欠点は、グラフィカルルートログインにも当てはまります。ただし、グラフィカルにログインすると、非グラフィカルにログインする場合よりもはるかに複雑な方法で動作するはるかに多くのプログラムを実行します。グラフィカルユーザーインターフェイス全体と、GUIを効果的に使用するために必要なすべてのグラフィカルプログラムは、rootとして実行されます。それらのいずれかに小さなセキュリティ脆弱性があると、誰かがシステムを完全に制御できるようになります。

Ubuntuでrootとしてログインすることはお勧めできませんが、セキュリティコミュニティでは、これが一般的に悪い習慣であるというコンセンサスはありません。ただし、グラフィカルルートログインは単に悪い習慣であり、ほとんどすべてのオペレーティングシステムは、それらを段階的に廃止するか、強く推奨します。

それほどではありませんが、グラフィカルログインに非ルートユーザー(特に、sudoまたはPolicyKitでルートとして操作を実行できるユーザー)がいると、リスクが生じます。しかし、グラフィカル環境のすべてが実際に無制限の機能を持つルートとして実行されなければならない場合よりもはるかに制御されています。それでも、セキュリティが最重要である状況では、通常、グラフィカルインターフェイスを完全に廃止することをお勧めします。そのため、Ubuntu ServerにはデフォルトでGUIが付属しておらず、公式にはGUIのインストールを推奨していません(ただし、そうすることはサポートされています) 。

Windowsの世界では、グラフィカルユーザーインターフェイス本質的に排除する方法でWindows Serverをインストールできるようになりました(技術的には、一部の要素は残りますが、非常に削除されており、任意のグラフィカルプログラムを実行できません)。これは同じ推論に基づいています。

ルートログインを有効にすることにした場合でも、グラフィカルにルートとしてログインしないでください。ルートログインを有効にすると、セキュリティリスクがわずかに高くなる可能性があります。グラフィカル環境全体をルートとして実行すると、非常に高いリスクにさらされます。

さらに、gksu / gksudo / kdesudoでrootとして実行されるように設計されたグラフィカル管理ツールを除き、ほとんどのグラフィカルプログラムはrootとして実行することを意図していません。これらはこのモードで広範囲にテストされていないため、失敗するか、不規則に動作する可能性があります(これはrootとして実行しているため、特に悪いことです)。

最後に、さらにいくつかのグラフィカルな管理ツール、などのusers-admin実行した場合、彼らは通常のユーザーによって実行されることを期待してにPolicyKitを使って(今まで実際にrootとして実行せずに)ルートなどのアクションを実行するために、rootとして失敗します。


4

ターミナルを開きます(Ctrl+ Alt+ Tまたはダッシュホーム>その他のアプリ>インストール済み(展開)>ターミナル)。

ルートアカウントを有効にするには

端末タイプまたは貼り付けsudo passwd root。通常のログインパスワードを入力します(要求された場合)root。新しいパスワードの入力と確認を求められます。

ルートとそのパスワードの入力を許可する新しいログインプロンプトを追加するには

端末タイプまたは貼り付け。gksudo gedit /etc/lightdm/lightdm.conf。これにより、ログイン画面の設定ファイルを編集できるグラフィカルテキストエディタウィンドウが開きます。

greeter-show-manual-login=trueファイルの最後に行を追加します。

ファイルは次のようになります。

[SeatDefaults]
greeter-session=unity-greeter
user-session=ubuntu
greeter-show-manual-login=true

lightdm.confファイルを保存して、geditを終了します。

Ubuntu 12.04を再起動すると、新しい「ログイン」ウィンドウが表示され(以前の「その他」ウィンドウが置き換えられます)、ユーザー名とパスワードの入力が可能になります。rootユーザー名を入力してから、ルートアカウントに割り当てたパスワードを入力します。

これが、rootアクセスを必要とする/望んでいる他の人に役立つことを願っています。


2

ubuntu 12.04 LTSに関しては、root権限を使用してこれを行うことができます:

echo "greeter-hide-users=true" >> /etc/lightdm/lightdm.conf

次に、ユーザー名とパスワードの両方を入力してグラフィカルにログインするように求められます。私はあなたがすでにルートのパスワードを設定していると仮定しています:)

rootとして直接ログインするべきではない理由は無数にありますが、rootであるという利便性に本当に感謝している場合(vmwareで実行されているテストボックスなど)のまれなケースは終了します。


1

ルートユーザーと管理者(Windowsの場合)は、コンピューターの神に相当するからです。そのユーザーは、ファイルのアクセス許可からファイルシステム全体の消去まで、あらゆるものを調整できます。平均的なホームユーザーが管理者として実行することは非常に一般的です(その名前または最初の起動時に設定された別の名前のいずれかで)。そのユーザーとして実行されるプログラムはシステム全体にわたるため、危険になります。

管理者権限を制御できないため、ウイルス/マルウェア、さらには自己破壊的な問題が発生します。このため、Ubuntuを含む多くのディストリビューションは、追加のステップ(「ここで行った変更はスコープ内のより大きな変更である」と主張するのに役立つ多少認知的なステップ)によって、ハイパワーへの移行を制限しました。


ふふふ。...「ここで行うすべての変更の範囲はより広範です」。
emf

1

rootとして直接ログインすることはできませんが(他の人がすでに説明している理由により)、GUIアプリケーションをrootとして実行できます。たとえば、システム→管理→Synaptic Package Managerは、rootとして実行されるグラフィカルアプリケーションです。

アプリケーションをルート(テキストアプリケーションまたはGUIアプリケーション)として実行するには、次のコマンドのいずれかを使用します。

sudo name-of-the-application
gksu name-of-the-application

それらはほとんど同じです。主な違いは、最初は端末でパスワードを要求し、2番目はグラフィカルダイアログウィンドウを使用することです。


1
違いsudoとは、gksuパスワードを入力する場所よりも重要です。 gksuGUIアプリとsudoコマンドラインにはこちらこちらを
ウォーレンヒル

1

通常、ルートは通常の使用にはお勧めしませんが、ルート権限を必要とする端末コマンドのリストが長い場合があり、ルートとしてログインする方が便利です。ルート端末を使用するsudo xtermgksu xterm、または開くために、便利な「root @」用語プロンプトがある場合、どの用語ウィンドウがルート特権を持っているかを区別するのが少し簡単だと思います


0

追記:UbuntuはGUIユーザーがrootとしてログインすることを許可していません。これは、UbuntuがGUIアプリケーション(nautilusなど)で重要なファイルを誤って削除または削除することを防ぐためです。

CLIユーザーインターフェイスのみで、ミスのリスクを減らすことができます。しかし以前は、Ubuntuがrootのランダムなパスワードを作成するため、CLIモードでもrootでログインすることはできません。ルート管理タスクは、コマンドsudoまたはgksuでユーザーのパスワードを使用することによってのみ実行できます。

Debianルールに基づいています。


gksuコマンドの意味
レンジットG

1
男gksu:gksu-suとsudoのGTK +フロントエンド
squallbayu

1
申し訳ありませんが、私には十分ではありません
レンジットG

「gksu」とは、suおよびsudoのGTK +フロントエンドを意味します。
squallbayu

1
はい、あなたが正しい。ターミナルで「gksu nautilus」を試してください。ルート権限を持つNautilusが表示されます。
squallbayu

0

rootとしてログインする正当な理由がないことを考えると、RH(rootログインを許可)とubuntu(sudo / gksuを使用してすべてを行う)の違いは好みの問題だと思います。

質問のその他の部分については、通常のユーザーとしてログインし、を押しALT-F2て入力することにより、グラフィカルインストールを実行できるはずgksuです。表示されるダイアログで、インストーラーを起動するコマンドを入力します。


0

日常の日常業務にはルートは推奨されません。スーパーユーザーの前提条件を提供するため、誤用される可能性があります。したがって、ログイン時にルートのオプションはありません。


0

常に自分でログオンしてから、sudoでrootとしてアクションを実行する必要があります。Ubuntuは、デフォルトで必要なほとんどすべてのアクセスを許可するように設定されています。マイナーな変更が残りを処理します(使用済みを他のグループに追加するなど)。rootとしてログインするのは悪い習慣と見なされます。業界のベストプラクティスは、ここで設定されたデフォルトです。

rootとしてログインできる人は、セキュリティの観点から非常に悪いことです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.