su と sudo の違い

su と sudo の違い

2 つのコマンドの違いは何ですか? 別のユーザーとして何かを実行したいときに、そのユーザーをエミュレートするにはどちらが適していますか?

sudo -H -iu USER command

そして

su -l USER -c command

答え1

別のユーザーとしてコマンドを実行しようとすると、sudoパスワードが要求され、su他のユーザーのパスワードが要求されます。

Sudo は、権限のないユーザーが別のユーザーとして特定のコマンドを実行できるように設計されており、/etc/sudoersシステム管理者がどのユーザーがどのコマンドをどのユーザーとして実行できるかを決定できる構成ファイルがあります。つまり、きめ細かい権限があります。これらの権限は付与でき、後で取り消すことができます。

Su では、別のユーザーとしてコマンドを実行することもできますが、同じきめ細かい権限が設計されていません。他のユーザーのパスワードを持っている場合は、そのユーザーとして何でも実行できます。そのアクセスを取り消す唯一の方法は、他のユーザーのパスワードを変更することです。

意見アラート

一般的に、私はほとんどのことには使用しませんsudosu誰かにすべての鍵(パスワード)を渡すのではなく、少しのアクセス権を与える方が簡単です。

意見終了

別のユーザーを「シミュレート」しようとする場合、効果に大きな違いはありません。どちらもそのユーザーとしてコマンドを実行します。

関連情報