web-dev-qa-db-ja.com

suに対するSudoの利点は何ですか?

Rootユーザーを無効にすることでUbuntu(またはDebian派生物)が達成する実際の利点は何ですか?

私が読むところはどこでも、それは経験の浅いユーザーの意図しない損害を防ぐために言っています。 Sudoはすべてのコマンドを実行できるため(私が知っている/使用している)、正確に何を知りたいのです。

それでは、どのような場合にルートが損傷を引き起こす可能性があるのに対し、Sudoはできませんか?

PS:Sudoの仕組みを知っています。

18
Web-E

だから、どのような場合にルートが損傷を引き起こす可能性がありますが、須藤はできませんか?

特権を必要とする何かをするたびに通常Sudoを呼び出さなければならないので、推論は「飛躍する前に考える」ことです。実行中のコマンドが実行されます。

一方、suを使用すると、入室すると入室します。何でもすべてを実行するためのカートブランシュ(オープンライセンス)があります。これらの特権があり、運が悪い場合は、システムに深刻な影響を与える/損傷を与えるものを実行します。su特権がなければ、コマンドは深刻なことをしませんでした。

30
ish

IMOのsuに対するSudoの主な利点は、Sudoには実行されたコマンドの優れたロギングがあり、Sudoはユーザーが実行できることをより細かく制御できることです。

suはallまたはnoneですが、Sudoはすべてのコマンドではなく一部のコマンドへのアクセスを許可するように構成できます。

長所と短所を含むより完全な説明については、 https://help.ubuntu.com/community/RootSudo を参照してください。

16
Panther

su-

rootとしてログインすると、開始するタスク、トリガーするアクション、または特定のWebサイトへのアクセスなどによって発生するランダムイベントなどがsuper-userとして実行されます。

Sudo

Sudoを呼び出すと、コマンドの実行時にそのコマンドのみsuper-userとして実行されます。

コマンドを実行する前に、パスワードを求められます。したがって、ユーザー相互作用by by必須でもあります。

Sudoの呼び出しを試みることもできますlogged

10
david6

Sysadminsのユーザー/パスワード管理についてです。

複数のユーザーがいる場合、それらはすべて個別のアカウントを持ち、それらのアカウントを使用して追跡できる必要があります。これは、人々が自分のアイデンティティを隠すことができないことを意味します。また、特定のユーザーのアクセス許可を取り消す必要がある場合は、rootパスワードをリセットする必要もありません。 2人以上の管理者がいる環境のすべての人にルートパスワードを与えると、1人が辞めたときに悪夢になります。あなたはそれを変更するだけでなく、それを伝えなければなりません。このようなことはすべて、彼らの一人がラップトップを盗まれたり、そのようなものを持っているときにも起こらなければなりません。 1人に1つのパスワードを持つ1つのアカウントにより、管理が簡単になります。各サービスが独自のアカウントを持つべき理由の背後にある哲学に似ています。 1つのアカウントが危険にさらされた場合、別のアカウントを使用するために別のダースサービス(バックアップタスクなど)を再構成する必要はありません。

また、追跡、紛失、危殆化のために別のパスワードを持たないことが個人的に便利だと思います。 RHELでは、Sudoを構成した後にルートアカウントを明確に無効にするため、追跡する必要はありません。時々、ユーザーはSudoファイルをb0rksしますが、それはシングルユーザーモードで修正可能です。 (当然、通常は実動マシンです。)

注:「Sudo bash」を使用すると、各コマンドでSudoの入力をスキップできます...

3
flickerfly

さらに、Sudoとsuの間で考慮するロギングの考慮事項があります。 suになると、すべてがrootとして実行され、認証ログに1行以外のエントリがなく、rootになったことが示されます。

一方、sudo-常にエスカレートされた特権を持つユーザーIDとして記録されます。

2
kd1s

最初に、suとSudoが実際に何を調べる必要があると思いますare

s-代理ユーザーを表します。これを使用して、そのユーザーのパスワードを使用して別のユーザーとしてシェルに切り替えます。一般にルートで使用されます。ルートとして実行する場合、パスワードは必要ありません。

Sudo-許可されたユーザーが指定されたコマンドを別のユーザーとして実行できるようにします。また、ルートで一般的に使用されます。ただし、これにより、別の用途として実行できるコマンドを具体的に管理できます。 (たとえば、init.dスクリプトを実行する機能をユーザーに与えることができますが、それ以外は何もできません。)

注:Sudo suまたはSudo -iをいつでも実行でき、これによりルートシェルが提供されます。ただし、rootパスワードがないということは、rootとして直接ログインしないことを意味します。つまり、だれもそのユーザーに侵入できないということです。

編集:したがって、あなたが探している答えは次のとおりです:ルートパスワードを持っていないため、Sudoを使用するように強制されます。これは、アクションをより強力に制御することを提案するSudo哲学に自然に合わせますルートとして実行します。

2
user606723

通常、管理タスクを実行する場合、suとしてログインする方が簡単です。ただし、少なくとも1つの例外があります。ファイルの所有権が重要な場合です。ユーザーをファイルの所有者にする必要がある場合は、そのユーザーとしてログインし、Sudoを使用してファイルをダウンロードまたはコピーします。簡単な例は、ブックマークと壁紙ファイルです。ユーザーがファイルを所有していない場合、Firefoxの「復元」ブックマーク「ファイルから」は失敗します。デスクトップの壁紙を設定すると、ファイルを所有していないと機能しない場合があります。特権を設定したり、実行可能ファイルとして有効にしたりできる場合もありますが、ファイルの所有者でない場合、一部の設定またはプログラムは失敗します。

0
DotheMath45