it-swarm-ja.com

Sudoコマンドは何をしますか?

私はプロとしての人生のすべてでWindowsユーザーでした。 MacBook Proを入手したばかりで、RailsでRubyを使って開発を始めたいと思っています。

Sudoコマンドの使用を推奨するいくつかのインストールガイドに出くわしました。私の知る限り、Sudoコマンドを使用すると、管理者としてコマンドを実行できます。

私が取得できないのは... Macに1つのユーザーアカウントしかないのですが、デフォルトで管理者ユーザーになるべきではありませんか?

なぜSudoコマンドを使用する必要があるのですか?

Sudoが何をするのか正しく理解していますか?

2
jessegavin

Macでは、ログインに使用するユーザーは、デフォルトではスーパーユーザー(root)アカウントではありません。これは、設計によるセキュリティ機能( 最小特権 )です。

そのセキュリティモデルに加えて、Sudoは、通常の(root以外の)ユーザーがケースバイケースでrootタスクを実行できるようにするために提供されるツールです。

これにより、多くの問題を防ぐことができます。特に、誤ってマシンを台無しにしてしまうことはほとんどありません。 :)

8
John Weldon

あなたが遭遇している混乱の一部は用語です。 OS Xには、遭遇するアカウント特権の3つの主要なレベルがあります。

ルート(別名、スーパーユーザー、システム管理者、またはシステム):これは特定のアカウント(アカウントの種類だけでなく)であり、通常はすべての機能を備えています。たとえば、rootは、アクセス許可に関係なく、システム上のすべてのファイルに完全にアクセスできます。通常、rootとしてログインすることはお勧めできません。そのため、デフォルトではアカウントは無効になっています(ほとんどの場合非表示になっています)。これは、おそらく「管理者」と呼んでいるものにほぼ対応しています。

管理者:これはあなたが持っているアカウントの種類です。システム全体で変更を加えることは許可されていますが、通常、そのアクセスを有効にするには、何か特別なことを行う必要があります(つまり、南京錠のアイコンをクリックして認証する)。たとえば、読み取りアクセス権のないファイルをコピーしようとすると、Finderはファイルをコピーする前に認証を要求します。 Sudoコマンドは、この別の例です。これにより、管理者は一時的に自分自身をrootに昇格させることができます。

標準ユーザー:特別な特権はありません。(ほとんどの)システム全体の設定をいじったり、アクセス制限をバイパスしたりすることはできません。

4番目のカテゴリもあります。管理アカウントは、「ペアレンタルコントロール」が適用されている標準アカウントです。

4
Gordon Davisson

私はMacを持っていませんが、Unixユーザーです。いいえ、セキュリティ上の理由から、ユーザーはあなただけではありません。通常のユーザーとして実行しています。ウイルスに感染したプログラムをダウンロードして管理者として実行すると、すべてのシステムが損傷する可能性があります。ただし、通常のユーザーとして実行すると、システム全体ではなく、ホームディレクトリのみが感染する可能性があります。

また、障害によって危険なタスクを実行するのを防ぎます(たとえば、rm -rf/*、これにより、システムを含め、HDD上のすべてのファイルが削除されます)

スーパーユーザーを日常的に使用できますが、これはお勧めできません。

1
maroxe