rootユーザーを通常のユーザーとして使用することは「OK」ですか?


94

Macでrootユーザーを有効にして、ログインしてFinderなどを実行できるようにしました。私が怠け者であるため、すべてをホームディレクトリからに転送しました/var/root。私はこれを行うことをあまり確信していないので、私はすべてを戻すかもしれません。これを通常のユーザーのように使用することは技術的に「OK」ですか?(自分のコンピューターにアクセスできるのは私だけです。)


6
角を曲がったルートレス「エルキャピタン」との良い質問。
いとこコカイン

4
具体的にどういう意味ですか(コンピューターにアクセスする)。インターネットに接続する可能性があります。コンピューターへのアクセスを許可するソフトウェアを指定しません。「OK」はどのように見えますか?いくつかの素晴らしい一般的な回答を得てくださったことを称賛します。おそらく、より詳細な質問(存在する場合)をフォローアップ質問として尋ねる方が良いでしょう。
bmike

6
「通常のユーザーとしてrootユーザーを使用することは「OK」ですか?」という質問に対する答えがわかっていれば、通常のユーザーとしてrootアカウントを使用できます。答えがわかれば、わかりません。;-)
Dakshinamurthy Karra

root、admin、および通常ユーザーの区別を追加することができます。adminがデフォルトだと思います。
スティーブモーザー

6
「自分のコンピューターにアクセスできるのは私だけです」<
ティム

回答:


352

常にルートとしてログインしているコンピューターを使用することは、常にすべての鍵、パスポート、現金5,000ドル、すべてのパスワードが書かれた紙片、そしてあなたが持っている唯一の愛らしいウサギの写真Flopsyを持ち歩くようなものです。死はあなたの7歳の心を壊しました。ああ、チェーンソー。

つまり、家に戻って物資を手に入れたり、銀行のマネージャーと話をしたりすることなく、いつでも好きなときに何でもできるので、時々非常に便利です。しかし、それはあなたが物を失う大きなリスクにさらされ、盗まれてしまいます(チェーンソーがあなたを助けるとは思わないでください:あなたはあなたの財布がなくなったことに気付く前にあなたは通りになります)、あなたが本当に後悔します(衝動買い酔っている間にベガスへの飛行機のチケット)、危険なショートカット(パンダへの最速の方法であるため、ライオンの囲いの柵をチェーンソーで切る)と過剰反応(彼の犬があまりにもbarえるので隣人の車をチェーンソーで切る)。そして、あなたがそれについて考えるとき、主に、あなたはただオフィスに行って、食料品の買い物に行って、あなたの友人とぶらぶらしています。あなたは ' 必要な便宜のためだけに、すべてのものを常に必要としているのですか?週に一度?

そのため、常にルートアカウントを使用することはできません。それはあなたにわずかな利便性を与えますが、多くの危険にあなたを置きます。馬鹿げた間違いが壊滅的な結果を招く危険性があります(「なぜrm -rf *、実行に時間がかかるのですか?****私がいる/!」)。すべてのファイルが等しいという考えに慣れる危険があり、ディレクトリツリー内の任意の場所で必要なものをいじることができます。アカウントへのハッキングはシステム全体へのハックになる危険性があるため、マシン上のすべてのソフトウェアはセキュリティ上重要です。そして、あなたが考える場合でも、あなたはあなたのマシンがハッキング取得を気にしない(結局、FLOPSYのその写真は、光沢紙ではなく、いくつかの短命JPEGの本当の作品です)、I あなたのマシンがハッキングされるのを心配してください。それはボットネット上にあり、今日アクセスできないインターネットサービスに対してDDOS攻撃を仕掛けているからです。

ルートはスパイダーマンのコスチュームです。それはあなたに大きな力を与えますが、大きな責任が必要です。クローゼットの中に必要なときはいつでも置いてあるので、いつも身に着ける必要はありません。


54
これは面白くてよく書かれた作品であるだけでなく、真実の輪でもあり、受け入れられた答えに値するものです
wrossmck

17
私はこれに戻り続けます。これは、あなたが何かに入れることができ、それでも深刻であることができるユーモアの最大量を持つ本物のアドバイスです。
智障的人

19
@ 9000少なくともXP以降はそうではありません。
デビッドリチャービー

28
flopsyの死とチェーンソーの関係は?
Sirex

29
「ルートはあなたのスパイダーマンの衣装です」。私はここで死にかけています。
ジェミニドミノ

23

可能ですが、セキュリティと安定性の大きなリスクです。これにより、すべてのアプリケーションがコンピューターにフルアクセスできるようになります。あなたは彼らがそのアクセスで何をしているのか知ることができません。それは不要で、本当に危険です。

これに関するより多くの背景情報については、


実際に回答に追加されなかったため、コメントを削除しました。チャットでディスカッションを続けてください。
nohillside

編集していただきありがとうございます。うまくいけば、これが私の投稿に関する混乱の一部を解決します。
ウィリアムTフログガード

17

正直なところ、rootユーザーをデフォルトとして使用することには多くのリスクがあることに同意します。しかし、私はそれらをただ調べて、いくつかの議論を少し批判してみましょう

  • アプリケーションに対する防御:実際には、* nixの許可システムは、任意のプログラムの実行を許可するほど強力ではありません。* nixの悪意のあるプログラムは、root権限なしで十分な悪事(銀行の資格情報を盗むなど)を実行できます。非rootアプリケーションの場合は、アプリケーションの場合よりもやや困難になりrootます(たとえば、ルート証明書を直接インストールして銀行への接続をインターセプトする代わりに、代わりにブラウザーをいじる必要がありますが、実際にはかなり実行可能です)ユーザーが何かに気付かないようにするために、とにかくそうする必要がありました)
  • ユーザーのミスに対する防御(間違ったコマンドの実行やすべてのシステムファイルの削除など)絶対に正しいが、rootユーザー以外がシステムを保存しても、すべての重要なファイルは通常既に失われます(ユーザーが所有するファイルがはるかに多いため一意である可能性が高い)。
  • 実行するアプリケーションの悪用可能なバグに対する防御:これはこれに似ています。たとえば、多くのアプリケーションが外部に公開されているWebサーバーを実行すると、悪用可能なバグに簡単に到達します。もちろん、ルーターとファイアウォールの後ろに座っていても同じことが言えますが、危険の程度はそれほど重要ではありません。しかし、ここでも疑問は、許可システムがプライベートシステム上でどれだけ現実的に防御するかということになります。root権限がなくても、すべてのプライベートファイルにアクセスでき、ネットワークデータの傍受も可能です。プライベートシステムの攻撃者として望むことができる2つの最も重要なことです。
    • (現在、標準の* nixファイル許可システムに加えて、Appleはアプリケーションサンドボックスシステムも導入しています。私が知る限り、rootとしてログインした場合でも完全に機能することを知っています。完全な取引ブレーカー。)

いずれにせよ、他の人が主張するほどひどい考えだとは思いません。念のために言っておきますが、良いアイデアだとは言いませんが、あなたを保護する上で* nixファイルシステムのアクセス許可モデルの有用性を過大評価していると思います。はい、それは特定のことに非常に役立ちます(たとえば、マルチユーザーシステム、複雑なマルチアプリケーションサーバー、何が起きてもシステムを実行し続ける(実行中ですが、必ずしも必要ではありません)、重要なファイルをロックします(ただし、それらを暗号化する方が良いでしょう) ...)など)、しかし、それは悪いことの発生を防ぐ魔法の保護ではありません。

コメントの中で、状況を説明するのに十分であると思われる類推を思いつきました。オランダ語では、すべてのメーターとメイン給水用のトグルなどを見つけることができる小さなクローゼットという言葉があります。rootユーザーアカウントとして実行すると、その小さなクローゼットのロックを解除するようなものです。皮肉な事実:ほとんどの人はそもそもロックをかけていません。今、ちょうどのようにroot特定の場合、たとえばオフィスや他の半公共の建物でロックされることは役に立たないとは言わないが、通常の家では玄関に強力なロックをかけることがはるかに重要である(ランダムなものやファイアウォールなどをインストールせずに、重要なものをすべて安全な場所に置きます(バックアップの作成、暗号化など)。そのクローゼットの余分なロックは傷つきますか?いいえ、万が一に備えて適切な場所に置くのは良い考えかもしれませんが、おそらくほとんど役に立たないでしょう。

実行しているrootユーザーはありません、何もあなたの家のすべてのロックを取って、あなたと一緒に安全にデビッドRicherbyによって主張されているようにすべての時間を、すべてのものを運ぶように。パスポート(ID)は* nixファイルシステムによって保護されておらず、お金(銀行口座)は* nixファイルシステムによって保護されていないため、重要なパスワードは* nixファイルシステムによって保護されていない可能性があります(あなたはSafariを使用していますが、実際には* nixファイルシステム許可モデルによって部分的に保護されている可能性がありますが、root あなたはまだ目に見えない拡張子をSafariに追加し、次に次回使用するときにパスワードを傍受することができます)、あなたの写真は間違いなく* nixファイルシステムによって保護されておらず、すでにチェーンソーを持っている端末を使用している場合あなたと一緒に(上記のポイント2ごとに)。


2
回答に投票した場合は、私の分析で間違っているものを指摘してください。私の答えは少し非正統的であることを完全に承知していますが、ICTが進歩性を持ち、答えが従来のドグマにどれだけうまく適合するかではなく、その内容によって判断されることを期待しています。
デビッドモルダー

3
これは、より多くの賛成票に値します。唯一の私は本当に私のコンピュータ上で気に事が私の(非ルート)ユーザーが所有するファイルです。写真、音楽、娘のビデオを表します。残りは簡単に再インストールできます!
イサクサボ

6
このロジックは基本的に、リモートガレージドアオープナーはかなり弱いソースであるため、誰もガレージドアを閉めなければ大した問題にはならないということと同じです。前提は真実ですが、アドバイスは偽です。効果的なセキュリティは、多数の小さな要素が連携して構成されています。近所のみんながガレージを閉めているように。近所の人たちの安全を確保します。
カレブ

2
@Caleb近所で家を所有することと、誰かを招待することとの間には大きな違いがあります。そして、誰かがあなたの家に入るときまでに、標準の* nixシステムで彼を止めることはほとんどありません。それは私がこの答えで説明していることです:誰かがあなたのシステムに侵入すると、* nixファイルシステムのアクセス許可は役に立たなくなります。プライベートシステムで重要だと思うものを保護していないからです。唯一のもの(続き)
デビッドモルダー

3
ルートを持たなくても、それを防ぐことはできません。しかし、それは微妙に異なる声明です。「妥協」ではなく「攻撃」と言ったようなものです。rootを使用すると、ネットワーク上でさらに多くのことができます。ゾンビマシンが単純なICMPフラッドに参加している場合、単純な例として、そのICMPトラフィックを生成するためにrawソケットアクセスが必要です(これがpingがsuid rootである理由です)。他のいくつかの有用な悪意のあるパケットの変更についても同様です。
ダニーザウアー

14

1990年頃、私はTomという名前の男とプロジェクトに取り組んでいました。SunOS(Unix派生、Solarisの前身)を実行しているSUNサーバーを使用していました。これは、CDドライブやフラッシュドライブの前の時代に戻っていたため、ハードドライブのOSを台無しにした場合、復旧する方法はありませんでした。

トムは日常的にルートとしてログインしていました。私は彼に悪い考えだと言ったが、彼は聞いていなかった。ある日、彼が「うーん」と言うのを聞いた。彼はこのようなコメシングをタイプするつもりでした:

mv something* .

残念ながら彼は最後のドットを省略したため、シェルはこのパターンに一致するすべてのファイル名とディレクトリ名を拡張しました。次に、mvコマンドは、リストの最終名として最終的に使用されるものを宛先ディレクトリーとして使用し、他のすべてをそこに移動しました。また、残念ながら、彼は現在ルートディレクトリにいたため、基本的にファイルシステム全体がそのサブディレクトリの1つに移動しました。

上矢印を使用して前のコマンドを戻し、何が起こったかを確認しました。私が最初に言ったのは、「ログオフしないでください。そうしないと、再びログインできなくなります」です。

問題ありませんよね?すべてを戻すことができます。ただし、mvコマンドはシェルの組み込みコマンドの1つではありませんでした。代わりに、移動されたファイルの1つに格納された実行可能プログラムでした。幸いなことに、lsは組み込みコマンドであったため、lsを使用してコマンドの移動先を確認した後、mvコマンドを見つけて、フルパス名で呼び出し、元の場所に戻すことができました。

そして、私は彼に言った、「トム、これがルートとして定期的にログインするのは悪い考えだ。」


10

通常、個人ファイルの所有権をrootユーザーとは別にしたいと考えています。これが、管理者として自分用のアカウントを作成する理由です。OS Xで受け入れられるルートレベルのアクセスを得る方法はsudo、ターミナルアプリケーションからコマンドを使用することです。たとえば、内部ドライブのパーティションを確認したい場合、コマンドは

gpt -r show /dev/disk0

入力すると、次のエラーメッセージが表示されます。

gpt show: unable to open device '/dev/disk0': Permission denied

コマンドを使用するには、次のsudoように使用する必要があります。

sudo gpt -r show /dev/disk0

入力を回避するためにrootユーザーになりたいsudo場合は、単に入力できますsudo sh。このexitコマンドを使用して、rootユーザーから抜けることができます。

rootユーザーとしてアプリケーションを実行する場合は、ターミナルアプリケーションを使用します。たとえば、rootユーザーとしてFinderを起動する場合は、次のコマンドを入力します。

sudo /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder &

2つのFinderアプリケーションを同時に開くという混乱を避けるために、通常は最初にFinderアプリケーションを終了するのが最善です。これは、次の端末コマンドを使用して実行できます。

osascript -e 'tell application "Finder" to quit'

注意事項:コマンドの前に付けるsudoことは、rootユーザーになることと同じではありません。たとえば、コマンド

sudo echo $USER
sudo echo $SUDO_USER

以下に示すコマンドと同じ出力になります。

echo $USER
echo $SUDO_USER

rootユーザー(スーパーユーザー)になると、同じコマンドの結果は異なる出力になります。これは、次のコマンドを入力して確認できます。

sudo sh
echo $USER
echo $SUDO_USER
sudo echo $USER
sudo echo $SUDO_USER
exit

4

他の理由で十分ではなかった場合は... Homebrewをルートとして使用できないことを忘れないでください(実際には大きな苦痛です)。他のプログラムでは、プログラマーがrootとして実行されないと想定しているため、多くの場合、明確な理由もなく、rootとしてそれらを使用したり、権限の問題に遭遇したりすることはできません。Steamはその1つだと思います。

また、さまざまな理由で、すべてのシステムとユーザーのものを分離しておくと便利です。

セキュリティの問題がそれほど悪いのかわかりません。個人的には、他の何よりも組織と権限の問題が心配です。


4

常に次のように実行しても問題ない理由の例root

  • ルートユーザーは、追跡がはるかに困難な場所にファイルを簡単に配置できます。
  • ルートユーザーはインターフェイスに直接アクセスできるため、インターフェイスを無差別モードまたは監視モードにして、すべてのネットワークトラフィックを記録できます。
  • ルートユーザーはデバイスノードへの生のアクセス権を持ち、ディスクをスラッシングすることができ、ユーザーレベルでの単純な「rm」よりもファイルを回復するのがはるかに困難になります。ルートユーザーは、ドライブのブートセクターを潜在的に変更し、オペレーティングシステムの再インストール後もマルウェアを永続化させることができます。

続けられた。ポイントは、rootとして実行しない正当な理由があるということです。とにかく、ほとんどの人にとって最も個人的なデータがホームディレクトリにあることに異論はありませんが、rootとして実行すると、そのデータとシステム全体が大きなリスクにさらされます。rootとして実行しないというアドバイスは見当違いではありません。rootとして実行することの意味を理解していない人は、絶対にそうすべきではありません。他のものを提案することは無責任です。


1

特定のタスクにbacktrack / kaliを使用していない場合:いいえ。スーパーユーザーを、装填された銃と同じように扱います。すぐに使用する必要性と意図がある場合は、OKです。ただし、他の方法(「sudo」など)で問題を解決できる場合は、それを実行してください。


0

番号!これにより、ご使用のシステムが非常に短時間で破壊されます。代わりに、suまたはsudo必要に応じてルートに。絶対に、積極的に、として実行する必要があるroot場合、少なくともコンピューターを使用していないときはいつでもログアウトします。お使いのシステムがマルチユーザーを実行することが可能であるが、どのユーザーが設定されていない場合、私はあなたが特権ユーザを作成示唆(すなわち:することができます1 sudo/ su。必要に応じてルートへの)至急!!!

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