Skip to main content

LinuxのSudoとは何ですか?

Primeros pasos con el Terminal de Linux (六月 2026)

Primeros pasos con el Terminal de Linux (六月 2026)
Anonim

Linuxで管理アプリケーションを実行するときは、su( "switch user")コマンドを使用してスーパーユーザー(root)に切り替えるか、sudo( "super user do")コマンドを使用できます。

sudoコマンドをいつ使用するかを知る1つの方法は、「アクセスが拒否されました」または「操作にはスーパーユーザー特権が必要です」というエラーが発生した場合にのみ、ターミナルでコマンドを実行しようとしている場合です。これらのエラーは、UbuntuのようなLinuxディストリビューションがrootユーザーの使用を許可していない場合に発生する可能性があります。 sudoコマンドを使用すると、特定のコマンドを高い権限で実行できます。

しかし、代わりにsuコマンドを使用することを選択した場合は、ユーザー全体をrootに切り替えることになります。つまり、最初のコマンドの後でも、それ以降のすべてのユーザーもルートの資格情報で実行されます。これは誤って昇格したコマンドを実行することを非常に簡単にします。注意しないとたくさんのダメージを与える可能性があります。

修正するには:sudoは "sudo"で始まる各コマンドに対してのみ機能し、suは有効にします すべて sudoまたはsuをそれぞれの前に入力する必要なしにスーパーユーザーとして実行するように指示します。

使い方

これらは動作が異なりますが、sudoコマンドとWindowsまたはmacOSで表示されるプロンプトを比較することができます。これらのオペレーティングシステムで特定のアクションの実行を続行するかどうかを尋ねられたら、昇格した権限でアクションを実行することを確認するボタンが表示されます。また、管理者のパスワード。

これらのオペレーティングシステムの場合と同様、Linuxではsudoコマンドを通常のタスクと管理タスクの間の壁として使用しているため、コマンドの実行内容を確認する必要があります。 Windowsのrunasコマンドはさらに似ています。 Linuxのように、runasコマンドはコマンドラインから動作して、特定のユーザー(多くの場合管理者)の資格情報を含むファイルを起動します。

先端: sudoまたはsuを使用しているかどうかわからない場合は、コマンドラインで末尾の文字を見てください。それがポンド記号(#)なら、あなたはrootとしてログインしています。

Sudoコマンドについて

Linuxでは、sudo( "sue dough"と発音)は、システム管理者が特定のユーザーまたはグループのユーザーに、すべてのコマンドと引数を記録しながらrootの一部またはすべてのコマンドを実行できるようにします。しかし、それはシェルの代わりではありません。

ターミナルのコマンドの前に "sudo"を置くと、次のような権限が昇格された特権で実行されます。そのため、特権関連のエラーに対する解決策です。これは、管理タスクと見なされるコマンドを実行する場合に必要です。

Sudoはコマンド単位で動作します。特長には、ユーザーがホストごとに実行できるコマンドを制限する機能、誰が何をしたのかを明確に監査するための各コマンドの大量のログ、sudoコマンドの設定可能なタイムアウト、多くの異なるマシン上の構成ファイル。

Sudoコマンドの例

管理者権限を持たない標準ユーザーは、Linuxにコマンドを入力してソフトウェアをインストールすることができます。

dpkg -i software.deb

管理者権限のないユーザーはソフトウェアのインストールを許可されていないため、このコマンドはエラーを返します。しかし、sudoコマンドが救助に来ます。代わりに、このユーザーの正しいコマンドは次のとおりです。

sudo dpkg -i software.deb

今回は、ソフトウェアがインストールされます。これは、管理者権限を持つ人物が以前にLinuxをインストールしてソフトウェアをインストールできるようにしているか、またはパスワードの入力を求められた場合にパスワードが正しく入力されていることを前提としています。

注意: Linuxを構成して、一部のユーザーがsudoコマンドを使用できないようにすることもできます。