sudoコマンドとsuコマンドの違いは何ですか?


12

sudosuコマンドの違いは何ですか?OS XがLinuxとは異なるこれらを処理するのはなぜですか?


1
どちらかといえば、LinuxはOS Xとは異なる方法でそれらを処理します。OSXは認定されたUnixであり、特定の動作標準に準拠しています。LinuxはUnixライクですが、Unixの認定を受けておらず、必ずしもUnix標準に準拠しているわけではありません。(Aaron Lakeの回答に記載されているルートパスワードの問題以外に)違いがある場合、それらは問題の特定のLinuxディストリビューションの実装者の一部に準拠していません。
アレスプリン

回答:


21

OS XはLinux sudosu同じように処理します。

sudo追加のオプションなしで、ルートとしてコマンドを実行するコマンドです。例えば:

% touch /newfile
touch: /newfile: Permission denied
% ls -l /newfile
ls: /newfile: No such file or directory
% sudo touch /newfile
% ls -l /newfile 
-rw-r--r--  1 root  wheel  0 Apr 27 11:45 /newfile

su一方、現在のユーザーをルートに切り替えます(追加のコマンドは不要です)。次の例でsudo suは、システムのルートパスワードがわからないため、を実行する必要があります。

% whoami
alake
% sudo su
$ whoami
root

主な違いsudosuあるがsudo、一方、rootとしてコマンドを実行しsuますあなたのルート。他のコマンドラインユーティリティと同様に、sudoとの両方を使用する多くの代替方法がありsuます。興味がある場合は、いつでも実行できますman <command>man sudoより多くの情報を取得します。


5
簡単な言語でsudoは、用語はasのようになりますsuper user and do。追加のポイントとして、OS Xでは、認証に成功すると、パスワードなしでsudoを短時間(でオーバーライドしない限り、デフォルトで5分sudoers)使用できます。その後、パスワードを再入力する必要があります。
-binarybob

1
「追加オプションなし」は非常に重要な修飾子です...両方ともルート以外のユーザーになることができます...たとえば、sudo su -lm _wwwwebserverユーザーのようにシェルとして使用できます(コマンドをrootとして実行することにより、有効なパスワードがありません)
ジョー

2
@Joe、その情報を追加することを検討しましたが、簡潔にするために省略しました。あなたが記述通り、sudo非常に堅牢なユーティリティ、最終的に混乱や区別を探して、ターゲットオーディエンス圧倒するだろう、ここでも、基本的な機能をカバーしているsudoとしますsu
アーロン湖

「sudoとsuの主な違いは、sudoはrootとしてコマンドを実行しますが、suはrootになります」-false、sudo -sシェルを実行(「rootになります」)、su -c commandrootとしてコマンドを実行します。
el.pescado

2
簡潔にするために、を使用する多くの代替方法を省略しましたsudo。また、su -c commandrootのパスワードがわからないため、OS Xではデフォルトではできません。ただしsudo su、パスワードは変更できますsu -c command。質問には答えられたと感じており、sudoとsuを交互に使用するために深く掘り下げる必要はありませんでした。しかし、私は好奇心の強い人々のために投稿を更新します。
アーロン湖
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.