Linuxコマンドsuとsudoの違い

Linux システムでは、ユーザー ID を切り替えて特権操作を実行するために一般的に使用されるコマンドが 2 つあり、それは su と sudo です。どちらも特権昇格を実現できますが、使用法、セキュリティ、適用可能なシナリオの点でいくつかの違いがあります。この記事では、ユーザーがこれら 2 つのコマンドを正しく選択して使用できるように、su と sudo コマンドの違いを紹介します。

1.suコマンド

su (switch user) コマンドは、Linux システムで別のユーザー ID に切り替えるコマンドです。通常、他のユーザーに切り替えるにはスーパーユーザー (root) のパスワードが必要です。su コマンドを使用すると、ユーザーは別のユーザーのアカウントに切り替えて、そのアカウントの権限を取得できます。たとえば、次のコマンドを使用してスーパーユーザー (root) に切り替えることができます。

su

パスワードを入力すると、ユーザーは root ユーザーに切り替わり、root ユーザーの権限を取得します。

2.sudoコマンド

sudo (スーパーユーザーとしてコマンドを実行) コマンドは、Linux システムでスーパーユーザー (root) 権限で特定のコマンドを実行するコマンドです。su コマンドとは異なり、sudo コマンドを使用すると、一般ユーザーはスーパーユーザーのパスワードを知らなくても、自分のパスワードを使用して特権操作を実行できます。sudo コマンドを使用する場合、ユーザーはコマンドの前に sudo キーワードを追加し、パスワードを入力して身元を確認する必要があります。

たとえば、次のコマンドは、スーパーユーザー権限で apt-get update コマンドを実行します。

sudo apt-get update

パスワードを入力すると、ユーザーには特権操作を実行する権限が付与されます。

3. 違いと比較

3.1 ユーザーのアイデンティティ

su コマンドにはスーパーユーザー (root) パスワードが必要であり、ユーザーは他のユーザーの ID に切り替えて権限を取得できます。sudo コマンドを使用すると、一般ユーザーが自分のパスワードを使用して特権操作を実行できます。

3.2 権限の範囲

su コマンドを使用して別のユーザーに切り替えると、そのユーザーはそのユーザーのすべての権限を取得します。sudo コマンドは、構成ファイル (sudoers ファイル) を通じて特権操作の範囲を制御でき、ユーザーがどのコマンドをどのユーザーとして実行できるかを正確に指定できます。

3.3 セキュリティ

su コマンドには共有の root パスワードが必要なため、セキュリティ上のリスクが生じる可能性があります。他の誰かが root パスワードを知っている場合、その人は root ユーザーに切り替えてシステムを完全に制御できるようになります。sudo コマンドは、独自のパスワードを使用して特権操作を実行することで、root パスワードの共有を回避し、システムのセキュリティを向上させることができます。

3.4 ログの記録

sudo コマンドは、実行されたコマンドや実行者の ID を含む、すべての特権操作をログに記録します。これは、システム管理者によるセキュリティの監査と追跡に役立ちます。su コマンドにはログ機能が組み込まれていないため、ユーザーの切り替えや実行されたコマンドを追跡できません。

3.5 使用方法

コマンドラインにsuコマンドを直接入力し、対象ユーザーのパスワードを入力してユーザーを切り替えることができます。sudo コマンドでは、コマンドの前に sudo キーワードを入力し、パスワードを入力して身元を確認する必要があります。

4. 適用可能なシナリオ

  • suコマンドによるユーザーの切り替えは、他のユーザーの環境で一連のコマンドを実行したり、長時間作業をしたりする場合など、別のユーザーで長時間操作する必要がある場合に適しています。

  • ソフトウェアのインストール、システムの更新、重要なシステム保守タスクの実行など、一時的に特権操作を実行する必要がある場合には、sudo コマンドを使用します。

5。結論

su コマンドと sudo コマンドは、Linux システムでユーザー ID を切り替えて特権操作を実行するために一般的に使用されるコマンドです。使用法、安全性、適用可能なシナリオの点で、それらの間にはいくつかの違いがあります。su コマンドでは、ユーザー ID を切り替えるためにスーパーユーザーのパスワードが必要ですが、 sudo コマンドでは、一般ユーザーが自分のパスワードを使用して特権操作を実行できます。

sudo コマンドを使用すると、root パスワードの共有や特権操作のログ記録を回避でき、システムのセキュリティとトレーサビリティが向上します。su コマンドと sudo コマンドのどちらを使用するかを選択する場合は、特定のニーズとセキュリティ上の考慮事項に基づいて選択する必要があります。この記事が、suコマンドとsudoコマンドの違いを理解し、実際に使用する際に正しく選択して使えるようになれば幸いです。

 

おすすめ

転載: blog.csdn.net/ygq13572549874/article/details/132030751