パーソナルノートブック上のパーソナルLinuxの場合、通常、X以下のランレベルでも環境をrootとして自動ログインに設定しました。 su
またはSudo
と入力したり、キーリングや認証などで尋ねられたりする必要がなく、ワークフローが非常に快適で高速であることがわかりました。
これまでのところ、問題が発生したことは一度もないので、なぜほとんどの人がそれについてびっくりしているのですか?懸念は過大評価されていますか?もちろん、これは、ユーザーが自分が何をしているかを知っていて、システムの信頼性やセキュリティの問題をあまり気にしていないことを前提としています。
同じ理由で、各デーモンに最小限の権限が必要です。 Apacheはrootとして実行できます。これは1つのタスクを実行するように設計されており、確かに悪いことは何も起こり得ませんか?
ただし、Apacheにバグがないと仮定します。バグは時々発見されます。場合によっては、任意のコード実行などである可能性もあります。これで、Apacheがrootとして実行されるため、あらゆるものにアクセスできます。たとえば、ルートキットをカーネルにロードして、それ自体を非表示にすることができます。
一方、ユーザーレベルのルートキットを作成するのは非常に困難です。 /home
内のさまざまなプログラム(ps
など)をオーバーライドする必要があります。これにより、余分なディスク領域が使用されているために疑惑が生じる可能性があります。正確な構成がわからず、含めるのを忘れている可能性があります。 gnome-system-monitor
したがって、それ自体を公開します。 bash
、tcsh
、および(それ自体を開始するために)使用するすべてのシェルをカバーする必要があります。一連のコールバックを「単に」オーバーライドするのではなく、さまざまな構成で機能する必要があります。
少し前に、AdobeReaderで任意のコード実行が発見されたと考えてください。
他の理由はユーザーの間違いです。 1つのコマンドでディスク全体を消去する前に警告することをお勧めします。
3番目の理由は異なるシェルです。システムのレスキューを実行する必要がある場合に備えて、ルートシェルを/
にインストールする必要があります。ユーザーのシェルは/usr
にインストールできます(たとえば、ユーザーはzshを使用できます)。
4番目の理由は、異なるプログラムがルートとして機能しないことです。彼らは特に彼らがそうするべきではないことを知っているので、あなたはシステムにパッチを当てる必要があるでしょう。
5番目の理由は、/root
が別のパーティションにあるべきではないのに対し、/home
はできる(そしてすべきである)ことです。 /home
を分離すると、さまざまな理由で役立ちます。
[〜#〜] also [〜#〜]:通常のユーザーとして使用しない理由。多くの場合、ルート権限を持っている必要はありません。セキュリティのためのコストはごくわずかです。
裸でバイクに乗ることもでき、何も起こらないかもしれません。でも、バイクをクラッシュさせたときに気分が良くなると思います...
明らかなセキュリティのポイントは別として、シェルまたはラプサスでコマンドをタイプミスしてシステムを無駄にしたことがないことは明らかです。それが起こった場合、あなたは人々がそれについてびっくりする理由を理解するでしょう。そして、あなたは恐怖で泣き、それが非常に教育的な経験であったことに気付くでしょうが、とにかくあなたのシステムを取り戻すことはできません。
考え:システムの通常の使用中にrootパスワードを要求された場合(つまり、パッケージやその他のシステム管理タスクをインストールしていない場合)、間違って実行している。
いいえ、過大評価されていません。実際には、それは最も過小評価されています。 :-)
たとえば、私の小さなチームは、開発作業(構築、テストなど)のためにRHELマシンを共有しています。誰もが個別のユーザーアカウントを使用しますが、迅速なsysadminタスクのためにrootパスワードが必要になることがあるため、rootパスワードも共有します。これはまた、私たちがその短い寿命の中でOSを数回ホースでつなぐことに成功しました。 libcの特定のバージョンを構築している誰かが、ばかげたrm
呼び出しによってシステムlibcを削除しました。別の奇妙な事件では、パーティションテーブルがありませんでした。 (わかりました、これは特権とは何の関係もありませんでした。)破損が修正されるまで、チームの他のメンバーはブロックされます。 1つの解決策は、誰かにsysadminタスクを引き受けるボランティアをさせることです。これまでのところ、人々がレッスンを学ぶことができるようにすることを除いて、私たちはあまり気にしませんでした。私たち全員が後端にいくつかの歯の跡を必要とし、これらは比較的安価な歯の跡です。
本当に好奇心旺盛な人は、 最小特権の原則 に従い、ケン・トンプソンの論文 "Reflections On Trusting Trust。" ( "道徳は明らかです。あなたはできます。完全に自分で作成したわけではないコードを信頼してください。」)
別の答えへのあなたのコメントを拾う
しかし、Linuxは、自分のデータを破壊する自由、プライバシー、セキュリティなど、自由についてです。
Sudo
を介して人々を強制する場合でも、Linuxはこの自由を提供します。あなたが避けたいセキュリティの議論全体は、物事からあなたを守るためにありますそうではありませんあなた(読んでください:悪意のあるプログラムまたは悪意のある人々によって制御されているプログラム)。
シートベルトと考えてください。使用するのに1秒かかります。そこにいる他の馬鹿から(そしてあなた自身も)あなたの命を救うことができます。
いつもパスワードを入力したくない場合は、sudoedit /etc/sudoers
しかし、rootとして実行し続けると、いつの日か、システムとすべてのデータを破壊する何かを実行することになります。
Flashのようにくだらないものでもコンピュータを再フォーマットできることを知って満足しているのなら、ここでは誰もあなたの行動を気にしません。 rootとして実行します。
実行している間、メインシステムとして Damn Vulnerable Linux を実行してみませんか。システムセキュリティを無視する場合は、すべて無視することをお勧めします...
あなたは無数の人々の共同作業であるOSについて話している。安定したソフトウェアしか実行しない場合は、しばらくの間安全である可能性があります。
前に述べたように、小さなものがHD全体を破壊する可能性があることに驚かれることでしょう。私の最初の年は、Fedora-core 3の時代には、ユーザーからシステムを管理するための凝った方法がそれほど多くなかったので、rootで実行してみました。
当時、私はバックアップせずに小さなxorg編集を行いました。それが害になるとは思わなかったからです。デスクトップがなくなりました。それから私はそれを手動で修正しようとしましたが、私が何をしたのか正確に理解できませんでした。後で、ドライバとデスクトップを再インストールできるかもしれないと思いましたが、イーサネットもnvidiaであったため、誤ってイーサネットを切断しました。
Archを初めて実行するとき、ユーザーを作成するための警告を無視し、しばらくの間管理者として実行しました。必要なAURからパッケージをインストールし、再起動した後、インストール全体が無効になりました。
私が根付いていたので、これらの問題の修正は必要以上に悪化しました。
あなたは私がただ無能だったと結論付けるかもしれません。しかし、他の人が言ったように...「Sudo」と入力することは、ある程度の安心のために支払う小さな代償です。
編集:ああ...そしてWINEのような特定のプログラムは、ルート環境で実行することを明示的に想定されていません。 http://wiki.winehq.org/FAQ#head-96bebfa287b4288974de0df23351f278b0d41014
安全上の理由-Linuxを対象とするデーモンまたはスクリプトの脆弱性は、システムに対してSysadminの権限を持ちます。
単純なユーザーとして実行することとSudoを使用することは、セキュリティの点で大きく異なります。私のFirefoxは私のユーザーとして実行されているので、Firefoxの脆弱性は私のアカウントにのみ影響します。他には何もありません。
私は、セキュリティと特定の権限を管理することへの懸念についてMaciejに同意します。また、あなたはシステムの所有者なので、必要に応じてこの機能を無効にすることができます;)それはあなたの選択です。